Condividi tramite


AVC_STREAM_REQUEST_BLOCK struttura (avcstrm.h)

La struttura AVC_STREAM_REQUEST_BLOCK descrive una richiesta di streaming AV/C da elaborare tramite avcstrm.sys.

Sintassi

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;

Members

SizeOfThisBlock

Specifica le dimensioni del blocco di richiesta in byte. Non impostare direttamente questo valore. Usare invece la macro INIT_AVCSTRM_HEADER .

Version

Specifica la versione di avcstrm.sys'interfaccia del driver di dispositivo (DDI) per il servizio di una richiesta. Non impostare direttamente questo valore. Usare invece la macro INIT_AVCSTRM_HEADER .

Function

Indica la richiesta (codice funzione) avcstrm.sys servizi. Deve essere un valore dell'enumerazione AVCSTRM_FUNCTION . Non impostare direttamente questo valore. Usare invece la macro INIT_AVCSTRM_HEADER .

Flags

Flag speciali per indicare un servizio speciale o una deviazione dal servizio standard. Attualmente non viene usato.

Status

Stato finale della richiesta.

AVCStreamContext

Si tratta di un contesto (handle) di un flusso. Impostare questa opzione su NULL per il codice della funzione AVCSTRM_OPEN . Per altri codici di funzione, è necessario impostare su un valore valido recuperato da una chiamata precedente a AVCSTRM_OPEN.

Context1

Puntatori di contesto del client.

Context2

Puntatori di contesto del client.

Context3

Puntatori di contesto del client.

Context4

Puntatori di contesto del client.

Reserved[4]

Riservato. Non usare.

CommandData

Si tratta di un'unione dei dati dei comandi da passare a avcstrm.sys per il servizio.

Flag Descrizione
StreamState Specifica lo stato corrente del flusso specificato. Viene usato con i codici di funzione AVCSTRM_GET_STATE e AVCSTRM_SET_STATE .
OpenStruct Specifica una descrizione di un flusso da aprire. Questa operazione viene usata con il codice della funzione AVCSTRM_OPEN .
BufferStruct Specifica una descrizione di un buffer usato per leggere o scrivere dati da/a un flusso specificato. Viene usato con i codici di funzione AVCSTRM_READ e AVCSTRM_WRITE .

CommandData.StreamState

Definisce il membro KSSTATE StreamState.

CommandData.OpenStruct

Definisce il membro AVCSTRM_OPEN_STRUCT OpenStruct.

CommandData.BufferStruct

Definisce l'AVCSTRM_BUFFER_STRUCTmember BufferStruct.

_tagCommandData

Definisce l' _tagCommandData membro _tagCommandData.

Commenti

La AVC_STREAM_REQUEST_BLOCK è la struttura primaria usata da un driver subunit per interfacciarsi con avcstrm.sys.

Ogni richiesta di flusso AV/C è descritta da questa struttura. Questa struttura viene passata come parte dell'IRP a avcstrm.sys per il servizio.

Per usare questa struttura, impostare il membro Irp-Parameters-Others.Argument1>> di IRP su un AVC_STREAM_REQUEST_BLOCK allocato e inizializzato che descrive la richiesta (funzionalità) che il driver subunit vuole avcstrm.sys al servizio.

Requisiti

Requisito Valore
Intestazione avcstrm.h (includere Avcstrm.h)

Vedi anche

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