Condividi tramite


Struttura KSQUERYBUFFER (ks.h)

La struttura di KSQUERYBUFFER viene utilizzata durante l'esecuzione di query per i buffer in sospeso disponibili in un evento con KSEVENT_TYPE_QUERYBUFFER.

Sintassi

typedef struct {
  KSEVENT      Event;
  PKSEVENTDATA EventData;
  PVOID        Reserved;
} KSQUERYBUFFER, *PKSQUERYBUFFER;

Membri

Event

Specifica la descrizione dell'evento originale, con il flag KSEVENT_TYPE_QUERYBUFFER impostato anziché il flag KSEVENT_TYPE_ENABLEBUFFERED.

EventData

Puntatore a una strutturaKSEVENTDATA. Si tratta dello stesso puntatore fornito a AVStrMiniAddEvent in fase di abilitazione dell'evento. Questo puntatore viene usato come identificatore univoco nell'individuazione dell'evento, proprio come viene usato durante la disabilitazione dell'evento.

Reserved

Non usato e impostato su zero.

Osservazioni

Se KSEVENT_TYPE_ENABLEBUFFERED è stato usato per abilitare un evento che memorizza nel buffer anche i dati, è possibile eseguire query sui dati generati dall'evento usando questo metodo. La descrizione dell'evento sottoposto a query viene fornita come primo parametro e qualsiasi buffer viene fornito come secondo parametro per la query.

È possibile eseguire query sulla lunghezza del buffer fornendo un buffer di output di lunghezza zero. Le dimensioni del buffer vengono restituite nel parametro BytesReturned, con stato di avviso STATUS_BUFFER_OVERFLOW.

In alternativa, la query restituisce uno dei valori di stato seguenti:

Valore restituito Descrizione
STATUS_NOT_FOUND evento non trovato
STATUS_INVALID_PARAMETER non è stato memorizzato nel buffer
STATUS_NO_MORE_ENTRIES nessun buffer disponibile
STATUS_BUFFER_TOO_SMALL le dimensioni del buffer non sono sufficienti.
STATUS_SUCCESS la vita è buona.

Fabbisogno

Requisito Valore
intestazione ks.h (include Ks.h)

Vedere anche

KSBUFFER_ITEM

KSEVENT