デバイス マネージャー情報のサンプル コードを見つけたので、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);