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