晚上好人!
我目前正在尝试使用Delphi pascal
结构的ATI ADL
翻译。简而言之,这允许我从系统中的ATI / AMD GPU检索信息,并可能控制它的各个方面(例如时钟和风扇速度)。
翻译来自Delphi-Praxis (Google Translated)或Delphi-Praxis (not translated),所提供的示例应用程序正常运行。我成功地将它转移到了一个可视化/ 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格式有很好的记录,但遗憾的是我缺乏能够在语言之间进行翻译的知识(例如我无法阅读C
或C++
代码并翻译了哪些数据类型变量。)
有什么想法吗?