0

以前SetupDiGetDriverInfoDetailはドライバーの詳細を取得していました。これには、次のコードフラグメントを使用しました。しかし、exeを実行するたびに取得し ERROR_INSUFFICIENT_BUFFERます。これを解決する方法は?

SetupDiGetDriverInfoDetail(hDevInfo、&DeviceInfoData、&drvInfoData、&drvInfoDetail、sizeof(drvInfoDetail)、NULL);

ありがとう..

4

1 に答える 1

2

まず、SetupDiGetDriverInfoDetail関数がERROR_INSUFFICIENT_BUFFERを返す理由についてのMicrosoftの説明を読んでください。次に、それを2回呼び出すコードを記述します。

必要なバイト数を確認できるDWORD変数へのポインターを使用して、SetupDiGetDriverInfoDetailを初めて呼び出します。十分に大きな変数にメモリを割り当て、SetupDiGetDriverInfoDetailを再度呼び出します。

于 2012-09-11T06:12:15.323 に答える