c - SetupDiGetDriverInfoDetail 返回 ERROR_INSUFFICIENT_BUFFER

标签 c winapi device-driver wdk

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

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

谢谢..

最佳答案

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

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

关于c - SetupDiGetDriverInfoDetail 返回 ERROR_INSUFFICIENT_BUFFER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12362586/

相关文章:

c - C 中数组的值初始化为 0 超过数组大小索引

C - 如何将字符串作为参数

c - 带字符串的指针运算

c++ - 在 WPF 应用程序中托管 win32 窗口?

c++ - 将 WinMain(或 wWinMain)参数传递给普通的 main

android - 在 Android 中以编程方式设置 APN

c# - 将手机注册为 HID(鼠标)

c - C中的匹配括号程序

c++ - CreateTimerQueue() 线程从哪里来?

linux-kernel - 我可以在内核模块中的指定物理地址分配内存页吗?