关于NetworkGuid的数据类型

黑夜愁客 2009-11-08 11:41:37
NET_IF_NETWORK_GUID中有一个变量叫做 NET_IF_NETWORK_GUID
do {

pAddresses = (IP_ADAPTER_ADDRESSES *) MALLOC(outBufLen);
if (pAddresses == NULL) {
printf
("Memory allocation failed for IP_ADAPTER_ADDRESSES struct\n");
exit(1);
}

dwRetVal =
GetAdaptersAddresses(family, flags, NULL, pAddresses, &outBufLen);

if (dwRetVal == ERROR_BUFFER_OVERFLOW) {
FREE(pAddresses);
pAddresses = NULL;
} else {
break;
}

Iterations++;

} while ((dwRetVal == ERROR_BUFFER_OVERFLOW) && (Iterations < MAX_TRIES));

if (dwRetVal == NO_ERROR) {
// If successful, output some information from the data we received
pCurrAddresses = pAddresses;
while (pCurrAddresses) {
//这里我想出书guid值
printf("GUID values is %lu",pCurrAddresses->NetworkGuid);//但是我不知道NetworkGuid数据类型所以出错

所以让你帮忙看看这是什么类型的数据,怎么才能正确输出呢?个人觉得正确输出结果应该类似:
GUID: b568ee76-6d17-4a3a-a2f5-269c52fd6de7
...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老邓 2009-11-08
  • 打赏
  • 举报
回复
而GUID的定义在Guiddef.h:
#ifndef GUID_DEFINED
#define GUID_DEFINED
#if defined(__midl)
typedef struct {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
byte Data4[ 8 ];
} GUID;
#else
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
} GUID;
#endif
#endif
fblgzdq 2009-11-08
  • 打赏
  • 举报
回复
GUID
老邓 2009-11-08
  • 打赏
  • 举报
回复
在ifdef.h里定义的,就是GUID
typedef GUID NET_IF_NETWORK_GUID, *PNET_IF_NETWORK_GUID;
老邓 2009-11-08
  • 打赏
  • 举报
回复
打开Iphlpapi.h头文件看看不就知道了吗?
估计是DWORD
黑夜愁客 2009-11-08
  • 打赏
  • 举报
回复
我现在读出来的是一堆数字:GUID:3801794241
黑夜愁客 2009-11-08
  • 打赏
  • 举报
回复
char szBuf[64];

sprintf_s(szBuf, 64, "{%08x-%04x-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}",
pCurrAddresses->NetworkGuid->Data1, pCurrAddresses->NetworkGuid->Data2, pCurrAddresses->NetworkGuid->Data3,
pCurrAddresses->NetworkGuid->Data4[0], pCurrAddresses->NetworkGuid->Data4[1],
pCurrAddresses->NetworkGuid->Data4[2], pCurrAddresses->NetworkGuid->Data4[3],
pCurrAddresses->NetworkGuid->Data4[4], pCurrAddresses->NetworkGuid->Data4[5],
pCurrAddresses->NetworkGuid->Data4[6], pCurrAddresses->NetworkGuid->Data4[7]);

printf("%s", szBuf);


谢谢各位

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧