Поделиться через


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_MJ_DEVICE_CONTROL

Входной буфер

При входных данных 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)

См. также

AVCSTRM_ABORT_STREAMING

AVCSTRM_CLOSE

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE