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