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) |