estructura AVC_STREAM_REQUEST_BLOCK (avcstrm.h)
La estructura de AVC_STREAM_REQUEST_BLOCK describe una solicitud de streaming de AV/C que se va a procesar medianteavcstrm.sys.
Sintaxis
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;
Miembros
SizeOfThisBlock
Especifica el tamaño del bloque de solicitud en bytes. No establezca este valor directamente. En su lugar, use la macro INIT_AVCSTRM_HEADER .
Version
Especifica la versión de avcstrm.sys interfaz de controlador de dispositivo (DDI) para atender una solicitud. No establezca este valor directamente. En su lugar, use la macro INIT_AVCSTRM_HEADER .
Function
Indica la solicitud (código de función) avcstrm.sys servicios. Debe ser un valor de la enumeración AVCSTRM_FUNCTION . No establezca este valor directamente. En su lugar, use la macro INIT_AVCSTRM_HEADER .
Flags
Marcas especiales para indicar un servicio especial o una desviación del servicio estándar. Actualmente no se usa.
Status
Estado final de esta solicitud.
AVCStreamContext
Este es el contexto (identificador) de una secuencia. Establézcalo en NULL para el código de función de AVCSTRM_OPEN . Para otros códigos de función, debe establecerse en un valor válido recuperado de una llamada anterior a AVCSTRM_OPEN.
Context1
Punteros de contexto del cliente.
Context2
Punteros de contexto del cliente.
Context3
Punteros de contexto del cliente.
Context4
Punteros de contexto del cliente.
Reserved[4]
Reservado. No utilizar.
CommandData
Se trata de una unión de datos de comandos que se pasarán a avcstrm.sys para el servicio.
Marca | Descripción |
---|---|
StreamState | Especifica el estado actual de la secuencia especificada. Se usa con los códigos de función AVCSTRM_GET_STATE y AVCSTRM_SET_STATE . |
OpenStruct | Especifica una descripción de una secuencia que se va a abrir. Se usa con el código de función AVCSTRM_OPEN . |
BufferStruct | Especifica una descripción de un búfer que se usa para leer o escribir datos de una secuencia especificada. Se usa con los códigos de función AVCSTRM_READ y AVCSTRM_WRITE . |
CommandData.StreamState
Define el objeto StreamState miembro KSSTATE.
CommandData.OpenStruct
Define el AVCSTRM_OPEN_STRUCT miembro OpenStruct.
CommandData.BufferStruct
Define el AVCSTRM_BUFFER_STRUCT miembro BufferStruct.
_tagCommandData
Define el _tagCommandData de miembro de _tagCommandData.
Comentarios
El AVC_STREAM_REQUEST_BLOCK es la estructura principal que usa un controlador de subunidad para interactuar con avcstrm.sys.
Esta estructura describe todas las solicitudes de secuencia de AV/C. Esta estructura se pasa como parte del IRP a avcstrm.sys para service..
Para usar esta estructura, establezca el miembro Irp-Parameters-Others.Argument1>> del IRP en un AVC_STREAM_REQUEST_BLOCK asignado e inicializado que describe la solicitud (funcionalidad) que el controlador de subbúnit desea avcstrm.sys al servicio.
Requisitos
Requisito | Valor |
---|---|
Header | avcstrm.h (incluya Avcstrm.h) |