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


структура 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)

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

AVCSTRM_ABORT_STREAMING

AVCSTRM_BUFFER_STRUCT

AVCSTRM_CLOSE

AVCSTRM_FUNCTION

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_OPEN_STRUCT

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE

KSSTATE