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)

Consulte también

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