小编use*_*674的帖子

禁用设备

我的程序中有一个简单函数的问题,该函数(下面列出)应该找到具有HardwareId id的设备然后关闭/打开它.它找到它然后我得到错误,并且GetLastError()返回msdn范围中描述的值.我在代码中用注释标记了错误.如果有人看到这个熟悉SetupDiCallClassInstaller(),请帮忙.我不知道在哪里搜索该错误,如果是代码错误或系统环境.我正在使用Windows 7 64位并以管理员身份运行此程序.

bool DisableInterface(bool bStatus) {   
IN LPTSTR HardwareId;      
HardwareId = L"DAUDIO\\FUNC_01&VEN_10DE&DEV_0018&SUBSYS_10DE0101";   

DWORD NewState ;   

if(bStatus) {   
    NewState = DICS_DISABLE;   
}   
else {   
    NewState = DICS_ENABLE;   
}   


DWORD i, err;   
bool found = false;   

HDEVINFO hDevInfo;   
SP_DEVINFO_DATA spDevInfoData ;   

hDevInfo=SetupDiGetClassDevs(NULL, 0, NULL, DIGCF_ALLCLASSES | DIGCF_PRESENT);   
if(hDevInfo == INVALID_HANDLE_VALUE)   
{   
    printf("blad1");   
    return false;   
}   

spDevInfoData.cbSize=sizeof(SP_DEVINFO_DATA);   
for(i=0; SetupDiEnumDeviceInfo(hDevInfo, i, &spDevInfoData); i++)   
{   
    DWORD DataT;   
    LPTSTR p, buffer = NULL;   
    DWORD buffersize = 0;   

    // get …
Run Code Online (Sandbox Code Playgroud)

c++ windows

7
推荐指数
1
解决办法
6901
查看次数

标签 统计

c++ ×1

windows ×1