微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GetDeviceDriverBaseName查找特定的驱动程序

如何解决GetDeviceDriverBaseName查找特定的驱动程序

我对内核方面的知识还很陌生,所以我想知道如何在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 举报,一经查实,本站将立刻删除。