IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
Драйвер subunit AV/C использует IRP_MJ_INTERNAL_DEVICE_CONTROL IRP с элементом IoControlCode значение IOCTL_AVCSTRM_CLASS для связи с avcstrm.sys. Драйвер имеет доступ ко всем операциям, предоставляемым драйвером фильтра потоковой передачи AV/C (avcstrm.sys) через этот запрос.
Дополнительные сведения об irPs и ioCTLs см. в разделе Обработка irPs.
Основной код
Входной буфер
При входных данных Irp->Parameters->Others.Arguments1 указывает на структуру AVC_STREAM_REQUEST_BLOCK. Функция элемента 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 CommandData структуры AVC_STREAM_REQUEST_BLOCK сведениями для водителя.
Длина выходного буфера
Длина структуры AVC_STREAM_REQUEST_BLOCK.
Блок состояния
Сведения, возвращаемые драйвером потоковой передачи AV/C, в блоке состояния ввода-вывода документируются с каждым запросом.
Замечания
Должен вызываться в IRQL = PASSIVE_LEVEL.
Требования
Требование | Ценность |
---|---|
заголовка | avcstrm.h (include Avcstrm.h) |