структура 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 для службы.
Flag | Описание |
---|---|
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
Определяет элемент bufferStruct AVCSTRM_BUFFER_STRUCT.
_tagCommandData
Определяет _tagCommandData элемента _tagCommandData.
Комментарии
AVC_STREAM_REQUEST_BLOCK является основной структурой, используемой драйвером подсоединения для взаимодействия с avcstrm.sys.
Каждый запрос потока AV/C описывается этой структурой. Эта структура передается как часть IRP для avcstrm.sys для service..
Чтобы использовать эту структуру, задайте для члена IRP Irp-Parameters-Others.Argument1>> выделенный и инициализированный AVC_STREAM_REQUEST_BLOCK, описывающий запрос (функциональность), который драйвер подсоединения хочет avcstrm.sys для обслуживания.
Требования
Требование | Значение |
---|---|
Заголовок | avcstrm.h (включая Avcstrm.h) |