Метод ISensorClassExtension::P rocessIoControl (sensorsclassextension.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 расположения отправляют только IOCTL WPD, которые всегда могут обрабатываться расширением класса датчика.
После обработки запроса управления вводом-выводом расширение класса датчика использует интерфейс обратного вызова драйвера ISensorDriver для предоставления уведомлений соответствующим образом. Запросы WPD, которые расширение класса датчика не обрабатывает по умолчанию, отправляются драйверу через ISensorDriver::OnProcessWpdMessage.
Драйвер не должен выполнять запросы управления вводом-выводом, которые он пересылает в расширение класса датчика.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | sensorsclassextension.h |
Библиотека | SensorsClassExtension.lib |