Отключение клавиатуры USB после перезагрузки

я использовал SetupDiSetClassInstallParams а также SetupDiCallClassInstaller отключить конкретное USB-устройство.

SP_PROPCHANGE_PARAMS params;

params.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER);
params.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE;
params.StateChange = DICS_DISABLE;

// SP_DEVINFO_DATA - Info.DevInfoData
if (!SetupDiSetClassInstallParams(hDevInfo, &(Info.DevInfoData),&params.ClassInstallHeader, sizeof(params))) {
Error = GetLastError();
return Error;
}

if (!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDevInfo, &(Info.DevInfoData))) {
Error = GetLastError(); // error here
}

Этот подход работает на всех устройствах, кроме клавиатуры.
Если я попытаюсь отключить ее таким образом
ERROR_NOT_DISABLEABLE возвращено. Но после перезагрузки клавиатура будет отключена.

Перед отключением для этого устройства устанавливаются флаги DN_DISABLEABLE и DN_REMOVABLE, проверяемые функцией CM_Get_DevNode_Status.
Что я делаю не так?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]