Condividi tramite


Funzione KsFreeEventList (ks.h)

La funzione KsFreeEventList gestisce la liberazione di tutti gli eventi da un elenco specificato, con il presupposto che questi eventi siano costituiti da strutture KSEVENT_ENTRY . Questa funzione può essere chiamata solo in PASSIVE_LEVEL.

Sintassi

KSDDKAPI VOID KsFreeEventList(
  [in]      PFILE_OBJECT      FileObject,
  [in, out] PLIST_ENTRY       EventsList,
  [in]      KSEVENTS_LOCKTYPE EventsFlags,
  [in]      PVOID             EventsLock
);

Parametri

[in] FileObject

Specifica l'oggetto file passato alla funzione di rimozione per informazioni sul contesto. L'oggetto file associato viene usato per confrontare l'oggetto file originariamente specificato durante l'abilitazione dell'evento. Ciò consente l'uso di un singolo elenco di eventi per più client differenziati in base agli oggetti file.

[in, out] EventsList

Punta alla testa dell'elenco di KSEVENT_ENTRY elementi da liberare. Se gli eventi nell'elenco sono attualmente disabilitati, vengono passati. Se gli eventuali nuovi elementi vengono aggiunti all'elenco durante l'elaborazione, potrebbero non essere liberati.

[in] EventsFlags

Specifica un flag KSEVENTS_LOCKTYPE che specifica il tipo di blocco di esclusione da usare per accedere all'elenco eventi. Se non viene impostato alcun flag, non viene eseguito alcun blocco.

[in] EventsLock

Usato per sincronizzare l'accesso a un elemento nell'elenco. Dopo aver eseguito l'accesso all'elemento, viene contrassegnato come eliminato in modo che le richieste di rimozione successive non riescano. Il blocco viene quindi rilasciato dopo aver chiamato la funzione di rimozione, se presente. La funzione di rimozione deve essere sincronizzata con la generazione di eventi prima di rimuovere effettivamente l'elemento dall'elenco.

Valore restituito

nessuno

Osservazioni

La funzione KsFreeEventList chiama il gestore di rimozione e quindi chiama KsDiscardEvent per ogni evento. Non presuppone che il chiamante sia il proprietario dell'evento.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ks.h (include Ks.h)
Libreria Ks.lib

Vedi anche

KsDiscardEvent