我找到了一些有关设备管理器信息的示例代码,我尝试在txt文件上写,但是将停止工作。
我不知道此问题的根本原因是什么。
下面的链接是原始示例代码。 http://white5168.blogspot.com/2013/05/drivercmgetdevnodestatus.html#.W1FLpdIzaM9
下面的代码是我添加的位置。 请帮助检查。
while (!SetupDiGetDeviceRegistryProperty(hDevInfo,
&DeviceInfoData,
ucSPDRP[j],
&DataType,
(PBYTE)Buffer,
BufferSize,
&BufferSize)) {
if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
// Change the buffer size.
if (Buffer) LocalFree(Buffer);
Buffer = (LPSTR)LocalAlloc(LPTR, BufferSize * 2);
}
else
break;// Insert error handling here.
}
file << cStatus[j];
file << (const char *)Buffer << "\n";
file.flush();
}
printf("%s : %s\n", cStatus[j], (const char *)Buffer);
if (Buffer) LocalFree(Buffer);