SetupDiGetDriverInfoDetail返回ERROR_INSUFFICIENT_BUFFER

时间:2012-09-11 04:01:56

标签: c winapi device-driver wdk

我使用SetupDiGetDriverInfoDetail来检索驱动程序的详细信息。我为此使用了以下代码片段。但是每次执行我的exe时,我都会得到ERROR_INSUFFICIENT_BUFFER。怎么解决这个问题?

  

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

谢谢..

1 个答案:

答案 0 :(得分:2)

首先,请阅读Microsoft对SetupDiGetDriverInfoDetail function可能返回ERROR_INSUFFICIENT_BUFFER的原因的解释。其次,编写代码来调用它两次。

第一次使用指向DWORD变量的指针调用SetupDiGetDriverInfoDetail,您将在其中找到所需的字节数。为足够大的变量分配内存并再次调用SetupDiGetDriverInfoDetail。