0

晚上好,伙计们!

我目前正在尝试Delphi pascal翻译ATI ADL结构。简而言之,这允许我从系统中的 ATI/AMD GPU 检索信息,并可能控制它的各个方面(例如时钟和风扇速度)。

翻译取自Delphi-Praxis(谷歌翻译)Delphi-Praxis(未翻译),并且提供的示例应用程序有效。我成功地将它转移到一个可视化/GUI 应用程序,但我无法从示例中扩展我的头脑。我希望通过支持 ATI GPU 来更新我现有的应用程序之一,但我遇到了麻烦。

我的主要目的是strAdapterNameAdapterInfo内部检索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 读取CC++编码并翻译什么数据类型变量)。

有任何想法吗?

4

0 回答 0