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


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

См. также

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