Перечисление SPB_REQUEST_TYPE (spbcx.h)
Перечисление SPB_REQUEST_TYPE указывает тип операции SPB, запрашиваемой клиентом.
Синтаксис
typedef enum _SPB_REQUEST_TYPE {
SpbRequestTypeUndefined,
SpbRequestTypeRead,
SpbRequestTypeWrite,
SpbRequestTypeSequence,
SpbRequestTypeLockController,
SpbRequestTypeUnlockController,
SpbRequestTypeLockConnection,
SpbRequestTypeUnlockConnection,
SpbRequestTypeOther,
SpbRequestTypeMax
} SPB_REQUEST_TYPE, *PSPB_REQUEST_TYPE;
Константы
SpbRequestTypeUndefined Только для внутреннего использования. |
SpbRequestTypeRead Операция чтения. Направление передачи данных для чтения осуществляется с целевого устройства на клиент (драйвер периферийного устройства). Драйвер контроллера SPB будет видеть запросы этого типа, только если он регистрирует функцию обратного вызова EvtSpbControllerIoRead . |
SpbRequestTypeWrite Операция записи. Направление передачи данных записи — от клиента к целевому устройству. Драйвер контроллера SPB получает запросы этого типа, только если регистрирует функцию обратного вызова EvtSpbControllerIoWrite . |
SpbRequestTypeSequence Последовательность операций передачи (чтения и записи), объединенных в один запрос. Драйвер контроллера SPB получает запросы этого типа, только если регистрирует функцию обратного вызова EvtSpbControllerIoSequence . В противном случае расширение платформы SPB (SpbCx) преобразует последовательность передачи ввода-вывода в последовательность запросов ввода-вывода типа SpbRequestTypeRead и SpbRequestTypeWrite и отправляет эти запросы в функции обратного вызова EvtSpbControllerIoRead и EvtSpbControllerIoWrite драйвера контроллера SPB. |
SpbRequestTypeLockController Запрос на блокировку контроллера исключительно для передачи данных шины на указанное целевое устройство или с указанного целевого устройства. Драйвер контроллера SPB получает запросы этого типа, только если регистрирует функцию обратного вызова EvtSpbControllerLock . |
SpbRequestTypeUnlockController Запрос на разблокировку контроллера для указанного целевого устройства. Драйвер контроллера SPB получает запросы этого типа через функцию обратного вызова EvtSpbControllerUnlock . |
SpbRequestTypeLockConnection Запрос на блокировку указанного целевого устройства для монопольного использования клиентом. Этот запрос полностью обрабатывается SpbCx. Драйвер контроллера SPB не выполняет обработку запросов этого типа. Дополнительные сведения см. в разделе IOCTL_SPB_LOCK_CONNECTION. |
SpbRequestTypeUnlockConnection Запрос на разблокировку указанного целевого устройства. Этот запрос полностью обрабатывается SpbCx. Драйвер контроллера SPB не выполняет обработку запросов этого типа. Дополнительные сведения см. в разделе IOCTL_SPB_UNLOCK_CONNECTION. |
SpbRequestTypeOther Неизвестный запрос элемента управления вводом-выводом (IOCTL), отправленный клиентом (драйвером периферийного устройства) на целевое устройство в шине. Вызовите метод WdfRequestGetParameters , чтобы получить параметры для этого запроса; для этого вызова используйте дескриптор SPBREQUEST для параметра Request . Драйвер контроллера SPB получает запросы этого типа, только если регистрирует функцию обратного вызова EvtSpbControllerIoOther . В противном случае SpbCx отклоняет неизвестные запросы IOCTL. |
SpbRequestTypeMax Только для внутреннего использования. |
Комментарии
Структура SPB_REQUEST_PARAMETERS содержит значение перечисления SPB_REQUEST_TYPE .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается начиная с Windows 8. |
Верхняя часть | spbcx.h (включая Spb.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по