Condividi tramite


struttura AVC_STREAM_REQUEST_BLOCK (avcstrm.h)

La struttura AVC_STREAM_REQUEST_BLOCK descrive una richiesta di streaming AV/C da elaborare da 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;

Membri

SizeOfThisBlock

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

Version

Specifica la versione di avcstrm.sys DDI (Device Driver Interface) per il servizio di una richiesta. Non impostare direttamente questo valore. Utilizzare 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. Utilizzare invece la macro INIT_AVCSTRM_HEADER.

Flags

Flag speciali per indicare un servizio speciale o una deviazione dal servizio standard. Questo non è attualmente utilizzato.

Status

Stato finale della richiesta.

AVCStreamContext

Si tratta del contesto (handle) di un flusso. Impostare questa opzione su NULL per il codice della funzione AVCSTRM_OPEN. Per altri codici di funzione, questo deve essere impostato 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 di dati dei comandi da passare a avcstrm.sys per il servizio.

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

CommandData.StreamState

Definisce il membro KSSTATE StreamState.

CommandData.OpenStruct

Definisce il membro AVCSTRM_OPEN_STRUCTOpenStruct.

CommandData.BufferStruct

Definisce il membro AVCSTRM_BUFFER_STRUCTBufferStruct.

_tagCommandData

Definisce il membro _tagCommandData_tagCommandData.

Osservazioni

Il 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 Irp->Parameters->Others.Argument1 membro su un AVC_STREAM_REQUEST_BLOCK allocato e inizializzato che descrive la richiesta (funzionalità) che il driver subunit desidera avcstrm.sys al servizio.

Fabbisogno

Requisito Valore
intestazione avcstrm.h (include Avcstrm.h)

Vedere 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