структура AVC_STREAM_REQUEST_BLOCK (avcstrm.h)
Структура AVC_STREAM_REQUEST_BLOCK описывает запрос потоковой передачи AV/C для обработки avcstrm.sys.
Синтаксис
typedef struct _AVC_STREAM_REQUEST_BLOCK {
ULONG SizeOfThisBlock;
ULONG Version;
AVCSTRM_FUNCTION Function;
ULONG Flags;
NTSTATUS Status;
PVOID AVCStreamContext;
PVOID Context1;
PVOID Context2;
PVOID Context3;
PVOID Context4;
ULONG Reserved[4];
union {
KSSTATE StreamState;
AVCSTRM_OPEN_STRUCT OpenStruct;
AVCSTRM_BUFFER_STRUCT BufferStruct;
} CommandData;
_tagCommandData _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;
Члены
SizeOfThisBlock
Задает размер блока запроса в байтах. Не устанавливайте это значение напрямую. Вместо этого используйте макрос INIT_AVCSTRM_HEADER.
Version
Указывает версию интерфейса драйвера устройства avcstrm.sys (DDI) для обслуживания запроса. Не устанавливайте это значение напрямую. Вместо этого используйте макрос INIT_AVCSTRM_HEADER.
Function
Указывает avcstrm.sys службы запроса (код функции). Это должно быть значение из перечисления AVCSTRM_FUNCTION. Не устанавливайте это значение напрямую. Вместо этого используйте макрос INIT_AVCSTRM_HEADER.
Flags
Специальные флаги, указывающие на специальную службу или отклонение от стандартной службы. В настоящее время это не используется.
Status
Окончательное состояние этого запроса.
AVCStreamContext
Это контекст (дескриптор) потока. Задайте для значение NULL для кода функции AVCSTRM_OPEN. Для других кодов функций это значение должно иметь допустимое значение, полученное из более раннего вызова AVCSTRM_OPEN.
Context1
Указатели контекста клиента.
Context2
Указатели контекста клиента.
Context3
Указатели контекста клиента.
Context4
Указатели контекста клиента.
Reserved[4]
Скрытный. Не используйте.
CommandData
Это объединение данных команд, передаваемых в avcstrm.sys для службы.
Флаг | Описание |
---|---|
StreamState | Указывает текущее состояние указанного потока. Используется с кодами функций AVCSTRM_GET_STATE и AVCSTRM_SET_STATE. |
OpenStruct | Указывает описание открываемого потока. Используется с кодом функции AVCSTRM_OPEN. |
BufferStruct | Указывает описание буфера, используемого для чтения или записи данных из или в указанный поток. Это используется с кодами функций AVCSTRM_READ и AVCSTRM_WRITE. |
CommandData.StreamState
Определяет элемент KSSTATEStreamState.
CommandData.OpenStruct
Определяет элемент AVCSTRM_OPEN_STRUCTOpenStruct.
CommandData.BufferStruct
Определяет элемент AVCSTRM_BUFFER_STRUCTBufferStruct.
_tagCommandData
Определяет _tagCommandDataэлемента _tagCommandData.
Замечания
AVC_STREAM_REQUEST_BLOCK является основной структурой, используемой драйвером подъединения для интерфейса с avcstrm.sys.
Каждый запрос потока AV/C описывается этой структурой. Эта структура передается как часть IRP, чтобы avcstrm.sys для службы..
Чтобы использовать эту структуру, задайте для элемента IRP Irp->Parameters->Others.Argument1 выделенный и инициализированный AVC_STREAM_REQUEST_BLOCK, описывающий запрос (функциональность), который драйвер подъединения хочет avcstrm.sys обслуживать.
Требования
Требование | Ценность |
---|---|
заголовка | avcstrm.h (include Avcstrm.h) |