Compartilhar via


Função KsFreeEventList (ks.h)

A função KsFreeEventList manipula a liberação de todos os eventos de uma lista especificada, com a suposição de que esses eventos são compostos por estruturas KSEVENT_ENTRY . Essa função só pode ser chamada em PASSIVE_LEVEL.

Sintaxe

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

Parâmetros

[in] FileObject

Especifica o objeto de arquivo passado para a função de remoção para obter informações de contexto. O objeto de arquivo associado é usado para comparar com o objeto de arquivo especificado originalmente ao habilitar o evento. Isso permite que uma única lista de eventos seja usada para vários clientes diferenciados por objetos de arquivo.

[in, out] EventsList

Aponta para o cabeçalho da lista de KSEVENT_ENTRY itens a serem liberados. Se algum evento na lista estiver sendo desabilitado no momento, eles serão passados. Se novos elementos forem adicionados à lista enquanto ela estiver sendo processada, eles poderão não ser liberados.

[in] EventsFlags

Especifica um sinalizador KSEVENTS_LOCKTYPE especificando o tipo de bloqueio de exclusão a ser usado no acesso à lista de eventos. Se nenhum sinalizador estiver definido, nenhum bloqueio será tomado.

[in] EventsLock

Usado para sincronizar o acesso a um elemento na lista. Depois que o elemento tiver sido acessado, ele será marcado como sendo excluído para que as solicitações de remoção subsequentes falhem. O bloqueio é liberado depois de chamar a função de remoção, se houver. A função de remoção deve ser sincronizada com a geração de eventos antes de realmente remover o elemento da lista.

Retornar valor

Nenhum

Comentários

A função KsFreeEventList chama o manipulador de remoção e chama KsDiscardEvent para cada evento. Ele não pressupõe que o chamador seja o proprietário do evento.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ks.h (inclua Ks.h)
Biblioteca Ks.lib

Confira também

KsDiscardEvent