什么是GUID类型?

时间:2012-02-20 14:42:10

标签: delphi winapi

我正在将C ++ Windows API翻译成delphi * .pas文件。

我有C Struct

返回的function
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;

我翻译成这个:

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;

但我在MSDN参考文献中未找到此GUID类型IPDeviceID的内容 它是一种原始类型?我该如何保持这个价值?

2 个答案:

答案 0 :(得分:12)

Delphi等价物是TGUID

Delphi文档包含一些examples of how to use this type and its associated helper function

答案 1 :(得分:6)

GUID structure,也称为UUID,是一种广泛使用的128位值类型,表示全局唯一标识符。

typedef struct _GUID {
  DWORD Data1;
  WORD  Data2;
  WORD  Data3;
  BYTE  Data4[8];
} GUID;

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