晚上好,伙计们!
我目前正在尝试Delphi pascal
翻译ATI ADL
结构。简而言之,这允许我从系统中的 ATI/AMD GPU 检索信息,并可能控制它的各个方面(例如时钟和风扇速度)。
翻译取自Delphi-Praxis(谷歌翻译)或Delphi-Praxis(未翻译),并且提供的示例应用程序有效。我成功地将它转移到一个可视化/GUI 应用程序,但我无法从示例中扩展我的头脑。我希望通过支持 ATI GPU 来更新我现有的应用程序之一,但我遇到了麻烦。
我的主要目的是strAdapterName
从AdapterInfo
内部检索adl_structures
。以前没有从头开始使用过这样的单元,我不确定如何在我的应用程序中定义类型本身。的记录结构AdapterInfo
如下;
type
AdapterInfo = record
/// Size of the structure.
iSize : integer;
/// The ADL index handle. One GPU may be associated with one or two index handles
iAdapterIndex : integer;
/// The unique device ID associated with this adapter.
strUDID : array [0..ADL_MAX_PATH] of char;
/// The BUS number associated with this adapter.
iBusNumber : integer;
/// The driver number associated with this adapter.
iDeviceNumber : integer;
/// The function number.
iFunctionNumber : integer;
/// The vendor ID associated with this adapter.
iVendorID : integer;
/// Adapter name.
strAdapterName : array [0..ADL_MAX_PATH] of char;
/// Display name. For example, "\\Display0" for Windows or ":0:0" for Linux.
strDisplayName : array [0..ADL_MAX_PATH] of char;
/// Present or not; 1 if present and 0 if not present.
iPresent : integer;
// @}
end;
老实说,我很难弄清楚我需要在type
我的应用程序部分中定义什么,而且,要真正得到一些可行的东西。
关于 ADL 库的特定于 delphi 的信息很少(唯一的信息是上面的 Delphi-praxis 链接),虽然它的 SDK 格式有很好的记录,但不幸的是,我缺乏能够在语言之间进行翻译的知识(例如,我可以' t 读取C
或C++
编码并翻译什么数据类型变量)。
有任何想法吗?