Управление питанием слота / карты PCMCIA - PullRequest
1 голос
/ 28 апреля 2009

В настоящее время я работаю над проектом, который использует запатентованную радиокарту PCMCIA для связи с некоторыми беспроводными устройствами. В настоящее время у меня есть фоновый процесс, который обрабатывает чтение данных с карты и сохраняет их для обработки, но я хотел бы иметь возможность отключить питание карты, когда мое приложение не работает. Я провел некоторое исследование, и, хотя WMI, очевидно, поддерживает профиль CIM_PCMCIAController в его реализации WIN32_PCMCIAController, функции SetPowerState() и Reset() не реализованы. Кто-нибудь знает способ (с или без WMI) для контроля состояния питания слота? Мне нужно иметь возможность программно как выключать, так и включать слот или карту.

Редактировать

Несколько человек, с которыми я говорил, предложили добавить на карту функцию, которая облегчила бы это. К сожалению, модификация карты для обеспечения такого рода функциональности на самом деле сейчас не подходит.

Редактировать 2

Я подтвердил, что устройство отображается в диспетчере устройств в категории «Многофункциональные адаптеры», хотя ни отключение устройства, ни самого контроллера PCMCIA отсюда не влияет на питание карты.

Ответы [ 2 ]

1 голос
/ 01 мая 2009

Предположительно, устройство имеет свои собственные драйверы и отображается в Диспетчере устройств.

В этом случае вы можете отключить устройство, вызвав devcon (эквивалент командной строки диспетчера устройств) из вашей программы. Это заставит Windows обрабатывать выключение устройства.

devcon disable . В Примере № 31 приведен пример выключения устройства по определенному идентификатору устройства.

Я иду по правильному пути или я неверно истолковал ваш вопрос?

1 голос
/ 01 мая 2009

Мне любопытно, но с помощью кнопки «Безопасное извлечение устройства ...» отключить питание устройства, достаточно, чтобы удовлетворить ваши требования?

Если это работает, вы можете программно зарегистрировать и отменить регистрацию устройства через API Microsoft. Вот страница, которая показывает пару функций, которые могут быть полезны для этого сценария: http://msdn.microsoft.com/en-us/library/aa363234(VS.85).aspx

...