estrutura AVC_STREAM_REQUEST_BLOCK (avcstrm.h)

A estrutura AVC_STREAM_REQUEST_BLOCK descreve uma solicitação de streaming AV/C a ser processada pelo avcstrm.sys.

Sintaxe

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;

Membros

SizeOfThisBlock

Especifica o tamanho do bloco de solicitação em bytes. Não defina esse valor diretamente. Em vez disso, use a macro INIT_AVCSTRM_HEADER .

Version

Especifica a versão de avcstrm.sys DDI (interface do driver de dispositivo) para atender a uma solicitação. Não defina esse valor diretamente. Em vez disso, use a macro INIT_AVCSTRM_HEADER .

Function

Indica a solicitação (código de função) avcstrm.sys serviços. Esse deve ser um valor da enumeração AVCSTRM_FUNCTION . Não defina esse valor diretamente. Em vez disso, use a macro INIT_AVCSTRM_HEADER .

Flags

Sinalizadores especiais para indicar serviço especial ou desvio do serviço padrão. No momento, isso não é usado.

Status

Status final desta solicitação.

AVCStreamContext

Esse é o contexto (identificador) de um fluxo. Defina isso como NULL para o código de função AVCSTRM_OPEN . Para outros códigos de função, isso deve ser definido como um valor válido recuperado de uma chamada anterior para AVCSTRM_OPEN.

Context1

Os ponteiros de contexto do cliente.

Context2

Os ponteiros de contexto do cliente.

Context3

Os ponteiros de contexto do cliente.

Context4

Os ponteiros de contexto do cliente.

Reserved[4]

Reservado. Não use.

CommandData

Essa é uma união de dados de comando a serem passados para avcstrm.sys para serviço.

Sinalizador Descrição
StreamState Especifica o estado atual do fluxo especificado. Isso é usado com os códigos de função AVCSTRM_GET_STATE e AVCSTRM_SET_STATE .
OpenStruct Especifica uma descrição de um fluxo a ser aberto. Isso é usado com o código da função AVCSTRM_OPEN.
BufferStruct Especifica uma descrição de um buffer usado para ler ou gravar dados de/para um fluxo especificado. Isso é usado com os códigos de função AVCSTRM_READ e AVCSTRM_WRITE .

CommandData.StreamState

Define o membro do KSSTATEStreamState.

CommandData.OpenStruct

Define o membro AVCSTRM_OPEN_STRUCTOpenStruct.

CommandData.BufferStruct

Define o membro AVCSTRM_BUFFER_STRUCTBufferStruct.

_tagCommandData

Define o membro _tagCommandData_tagCommandData.

Comentários

O AVC_STREAM_REQUEST_BLOCK é a estrutura primária usada por um driver de subunidade para interface com avcstrm.sys.

Cada solicitação de fluxo AV/C é descrita por essa estrutura. Essa estrutura é passada como parte do IRP para avcstrm.sys para o serviço..

Para usar essa estrutura, defina o membro Irp-Parameters-Others.Argument1>> do IRP como um AVC_STREAM_REQUEST_BLOCK alocado e inicializado que descreve a solicitação (funcionalidade) que o driver de subunidade deseja avcstrm.sys para atender.

Requisitos

Requisito Valor
Cabeçalho avcstrm.h (inclua Avcstrm.h)

Confira também

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