USB не отключается с помощью вызовов setupapiC#

Место общения программистов C#
Ответить
Anonymous
 USB не отключается с помощью вызовов setupapi

Сообщение Anonymous »

Я использую вызовы API настройки для отключения USB, когда они подключены, но вызовы дают противоречивые результаты или не блокируют USB.
Я использую следующие API: следует:
  • cfgmgr.CM_Locate_DevNode
  • cfgmgr.CM_Get_DevNode_Status
Два вышеуказанных API отображают статус подключенного USB-устройства, которое включено или отключено.
Если включено, мы отключаем устройство с помощью приведенных ниже API.
  • SetupDiSetClassInstallParams
  • SetupDiChangeState
мы устанавливаем все необходимые параметры изменения и перейдите к вышеуказанным API, но они не могут отключить USB.
код, как показано ниже:

Код: Выделить всё

                setupapi.SP_PROPCHANGE_PARAMS ChangeParams = new setupapi.SP_PROPCHANGE_PARAMS();

ChangeParams.ClassInstallHeader.cbSize = Marshal.SizeOf(typeof(setupapi.SP_CLASSINSTALL_HEADER));
ChangeParams.ClassInstallHeader.InstallFunction = setupapi.DIF_PROPERTYCHANGE;
ChangeParams.Scope = setupapi.DICS_FLAG_CONFIGSPECIFIC; //DICS_FLAG_GLOBAL;
ChangeParams.StateChange = bEnable ? setupapi.DICS_ENABLE : setupapi.DICS_DISABLE;
ChangeParams.HwProfile = 0;

int PropChangeSize = Marshal.SizeOf(typeof(setupapi.SP_PROPCHANGE_PARAMS));
PSP_PROPCHANGE_PARAMS = Marshal.AllocHGlobal(PropChangeSize);
Marshal.StructureToPtr(ChangeParams, PSP_PROPCHANGE_PARAMS, true);

bool bRes = setupapi.SetupDiSetClassInstallParams(set, ref data, PSP_PROPCHANGE_PARAMS, PropChangeSize);

bRes = setupapi.SetupDiChangeState(set, ref data);
Любая помощь по отключению USB будет полезна.

Подробнее здесь: https://stackoverflow.com/questions/789 ... papi-calls
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»