问题描述
我对内核方面的知识还很陌生,所以我想知道如何在C ++中按名称查找设备驱动程序。我很困惑,因为我不太了解如何使用GetDeviceDriverBaseName
来获取特定的驱动程序名称。除了Microsoft的教程或文档,我也找不到其他东西。
感谢您的帮助。
#include <psapi.h>
#include <tchar.h>
#include "Title.h"
#define ARRAY_SIZE 1024
int main( void )
{
LPVOID drivers[ARRAY_SIZE];
DWORD cbNeeded;
int cDrivers,i;
if (EnumDeviceDrivers(drivers,sizeof(drivers),&cbNeeded) && cbNeeded < sizeof(drivers))
{
TCHAR szDriver[ARRAY_SIZE];
cDrivers = cbNeeded / sizeof(drivers[0]);
_tprintf(TEXT("There are %d drivers:\n"),cDrivers);
for (i = 0; i < cDrivers; i++)
{
if (GetDeviceDriverBaseName(drivers[i],szDriver,sizeof(szDriver) / sizeof(szDriver[0])))
{
_tprintf(TEXT("%d: %s\n"),i + 1,szDriver);
}
}
}
else
{
_tprintf(TEXT("Enumeration of Drivers Failed; array size need is %d\n"),cbNeeded / sizeof(LPVOID));
return 1;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)