我正在尝试为我的一个朋友做一些硬件生成,我注意到GetAdaptersInfo有点奇怪.根据MSDN, pOutBufLen应该指向一个保持值为sizeof(IP_ADAPTER_INFO)(640)的变量.但是当我使用该值时,它返回111(ERROR_BUFFER_OVERFLOW)并将outBufLen设置为2560.当调用outBufLen设置为2560的函数时,它只会崩溃.
最小再现代码:
#include <windows.h>
#include <Iphlpapi.h>
int main()
{
IP_ADAPTER_INFO adapter_inf;
unsigned long int outBufLen = sizeof(IP_ADAPTER_INFO);
GetAdaptersInfo(nullptr, &outBufLen); // returning 111 (ERROR_BUFFER_OVERFLOW) and setting outBufLen to 2560
GetAdaptersInfo(&adapter_inf, &outBufLen); // crash during this call
return 0;
}
Run Code Online (Sandbox Code Playgroud)
不知道这是否重要,但64位Windows 8在这里.
我一直在互联网上寻找一种方法来找到一种方法来获取计算机的 UUID 并将其设置为 python 中的变量。
我尝试过的一些方法不起作用。
创见:
import os
x = os.system("wmic diskdrive get serialnumber")
print(x)
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,只返回 0。
我想知道它们是否是我可以在 python 中找到唯一的硬盘驱动器 ID 或任何其他类型的标识符的方法。