Partager via


KsFreeEventList, fonction (ks.h)

La fonction KsFreeEventList gère la libération de tous les événements d’une liste spécifiée, en supposant que ces événements sont composés de structures KSEVENT_ENTRY. Cette fonction ne peut être appelée qu’à PASSIVE_LEVEL.

Syntaxe

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

Paramètres

[in] FileObject

Spécifie l’objet de fichier passé à la fonction de suppression pour les informations de contexte. L’objet de fichier associé est utilisé pour comparer l’objet de fichier spécifié à l’origine lors de l’activation de l’événement. Cela permet à une liste d’événements unique d’être utilisée pour plusieurs clients différenciés par des objets de fichier.

[in, out] EventsList

Pointe vers la tête de la liste des éléments KSEVENT_ENTRY à libérer. Si des événements de la liste sont actuellement désactivés, ils sont passés. Si de nouveaux éléments sont ajoutés à la liste pendant qu’ils sont traités, ils peuvent ne pas être libérés.

[in] EventsFlags

Spécifie un indicateur KSEVENTS_LOCKTYPE spécifiant le type de verrou d’exclusion à utiliser pour accéder à la liste des événements. Si aucun indicateur n’est défini, aucun verrou n’est pris.

[in] EventsLock

Permet de synchroniser l’accès à un élément de la liste. Une fois l’élément accédé, il est marqué comme étant supprimé afin que les demandes de suppression suivantes échouent. Le verrou est ensuite libéré après l’appel de la fonction de suppression, le cas échéant. La fonction de suppression doit se synchroniser avec la génération d’événements avant de supprimer réellement l’élément de la liste.

Valeur de retour

Aucun

Remarques

La fonction KsFreeEventList appelle le gestionnaire remove, puis appelle KsDiscardEvent pour chaque événement. Il ne suppose pas que l’appelant est le propriétaire de l’événement.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib

Voir aussi

KsDiscardEvent