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_MJ_DEVICE_CONTROL

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

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

См. также раздел

AVCSTRM_ABORT_STREAMING

AVCSTRM_CLOSE

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE