Compartilhar via


estrutura AVC_STREAM_REQUEST_BLOCK (avcstrm.h)

A estrutura AVC_STREAM_REQUEST_BLOCK descreve uma solicitação de streaming AV/C a ser processada por 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 da DDI (interface do driver do dispositivo) avcstrm.sys 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 da função) avcstrm.sys serviços. Isso 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 um 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 para 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 de serviço.

Bandeira 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 KSSTATE streamstate.

CommandData.OpenStruct

Define o membro AVCSTRM_OPEN_STRUCTOpenStruct.

CommandData.BufferStruct

Define o membro AVCSTRM_BUFFER_STRUCTbufferStruct.

_tagCommandData

Define o membro _tagCommandData_tagCommandData.

Observações

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 irp do IRP->Parameters->Others.Argument1 membro para um AVC_STREAM_REQUEST_BLOCK alocado e inicializado que descreve a solicitação (funcionalidade) que o driver de subunidade deseja avcstrm.sys para o serviço.

Requisitos

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

Consulte 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