IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
Драйвер подсоединители AV/C использует IRP IRP_MJ_INTERNAL_DEVICE_CONTROL с элементом IoControlCode , равным IOCTL_AVCSTRM_CLASS, для взаимодействия с avcstrm.sys. Драйвер имеет доступ ко всем операциям, предоставляемым драйвером фильтра потоковой передачи AV/C (avcstrm.sys) через этот запрос.
Дополнительные сведения об IRP и IOCTL см. в разделе Обработка IRP.
Основной код
Входной буфер
Во входных данных Irp-Parameters-Others.Arguments1>> указывает на AVC_STREAM_REQUEST_BLOCK структуру. Элемент Function AVC_STREAM_REQUEST_BLOCK указывает тип запроса. Не устанавливайте этот элемент напрямую. Используйте макрос INIT_AVCSTRM_HEADER для инициализации этого элемента (а также дополнительных элементов структуры AVC_STREAM_REQUEST_BLOCK). Элемент CommandData AVC_STREAM_REQUEST_BLOCK — это объединение, указывающее параметры запроса, относящиеся к типу запроса. Параметры и их значение задокументированы в каждом запросе (коде функции). Перечисление AVCSTRM_FUNCTION предоставляет список кодов функций, поддерживаемых avcstrm.sys.
Длина входного буфера
Длина структуры AVC_STREAM_REQUEST_BLOCK .
Выходной буфер
В выходных данных Irp-Parameters-Others.Arguments1>> указывает на структуру AVC_STREAM_REQUEST_BLOCK, переданную в качестве входных данных. В рамках выполнения запроса водитель автобуса заполняет определенные элементы объединения CommandData структуры AVC_STREAM_REQUEST_BLOCK сведениями о водителе.
Длина выходного буфера
Длина структуры AVC_STREAM_REQUEST_BLOCK .
Блок состояния
Сведения, возвращаемые драйвером потоковой передачи AV/C в блоке состояния ввода-вывода, задокументированы при каждом запросе.
Комментарии
Должен вызываться в IRQL = PASSIVE_LEVEL.
Требования
Требование | Значение |
---|---|
Заголовок | avcstrm.h (включая Avcstrm.h) |