我正在将C ++ Windows API翻译成delphi * .pas文件。
我有C Struct
返回的functiontypedef 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
的内容
它是一种原始类型?我该如何保持这个价值?
答案 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
。