什么是GUID类型?

Vit*_*.us 8 delphi winapi

我正在将C++ Windows API转换为delphi*.pas文件.

我有一个函数返回的这个C Struct

typedef struct _WLAN_HOSTED_NETWORK_STATUS {
  WLAN_HOSTED_NETWORK_STATE      HostedNetworkState;
  GUID                           IPDeviceID;
  DOT11_MAC_ADDRESS              wlanHostedNetworkBSSID;
  DOT11_PHY_TYPE                 dot11PhyType;
  ULONG                          ulChannelFrequency;
  DWORD                          dwNumberOfPeers;
  WLAN_HOSTED_NETWORK_PEER_STATE PeerList[1];
} WLAN_HOSTED_NETWORK_STATUS, *PWLAN_HOSTED_NETWORK_STATUS;
Run Code Online (Sandbox Code Playgroud)

我翻译成这个:

type
_WLAN_HOSTED_NETWORK_STATUS = record 
  HostedNetworkState : WLAN_HOSTED_NETWORK_STATE;
  IPDeviceID : GUID;
  wlanHostedNetworkBSSID : DOT11_MAC_ADDRESS;
  dot11PhyType : DOT11_PHY_TYPE;
  ulChannelFrequency : ULONG;
  dwNumberOfPeers : DWORD;
  PeerList : Array [0..1] of WLAN_HOSTED_NETWORK_PEER_STATE;
end;
WLAN_HOSTED_NETWORK_STATUS = _WLAN_HOSTED_NETWORK_STATUS;
PWLAN_HOSTED_NETWORK_STATUS = _WLAN_HOSTED_NETWORK_STATUS;
Run Code Online (Sandbox Code Playgroud)

但我没有在MSDN上找到参考什么是这种GUID类型的IPDeviceID 原始类型?我该如何保持这个价值?

Dav*_*nan 12

Delphi的等价物是TGUID.

Delphi文档包含一些如何使用此类型及其关联的辅助函数的示例.


ham*_*ene 6

GUID结构(也称为UUID)是一种广泛使用的128位值类型,它表示全局唯一标识符.

typedef struct _GUID {
  DWORD Data1;
  WORD  Data2;
  WORD  Data3;
  BYTE  Data4[8];
} GUID;
Run Code Online (Sandbox Code Playgroud)

快速检查发现Delphi已经有这种类型,TGuid在模块中命名System.