Метод ISensorClassExtension::P rocessIoControl (sensorclassextension.h)
Метод ISensorClassExtension::P rocessControl отправляет запросы на управление переносимыми устройствами Windows (WPD) в расширение класса датчика для обработки.
Синтаксис
HRESULT ProcessIoControl(
IWDFIoRequest *pRequest
);
Параметры
pRequest
Указатель на интерфейс IWDFIoRequest, представляющий объект запроса UMDF.
Возвращаемое значение
Этот метод возвращает HRESULT. Возможные значения включают, но не ограничиваются одним из следующих значений.
Возвращаемый код | Описание |
---|---|
S_OK | Метод выполнен успешно. |
E_ACCESS_DENIED | Нет разрешений. Например, запрос ввода-вывода запрашивал данные, для которых нет разрешений. |
E_POINTER | Обязательный аргумент указателя был NULL. |
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED) | Запрос не содержал IOCTL WPD. |
Замечания
UMDF отправляет запросы на управление ввода-вывода драйверам датчиков через IQueueCallbackDeviceIoControl::OnDeviceIoControl. Рекомендуется вызвать ProcessIoControl, чтобы перенаправить все запросы WPD в расширение класса датчика для обработки. Макрос WPD можно использовать IS_WPD_IOCTL для определения того, является ли заданный код элемента управления конкретным для WPD. Клиенты API датчика и API расположения отправляют только ioCTLs WPD, которые всегда могут обрабатываться расширением класса датчика.
После обработки запроса управления ввода-вывода расширение класса датчика использует интерфейс обратного вызова драйвера, ISensorDriver, чтобы предоставить уведомления в соответствии с соответствующими параметрами. WPD запрашивает, что расширение класса датчика не обрабатывается по умолчанию, отправляется драйверу через ISensorDriver::OnProcessWpdMessage.
Драйвер не должен выполнять запросы управления ввода-выводами, которые он перенаправит в расширение класса датчика.
Требования
Требование | Ценность |
---|---|
целевая платформа | Виндоус |
заголовка | sensorclassextension.h |
библиотеки | SensorClassExtension.lib |