Compartilhar via


Função KsEnableEvent (ks.h)

A função KsEnableEvent habilita eventos solicitados por meio de IOCTL_KS_ENABLE_EVENT. Ele responde a todos os identificadores de evento definidos pelos conjuntos. Essa função só pode ser chamada em PASSIVE_LEVEL.

Sintaxe

KSDDKAPI NTSTATUS KsEnableEvent(
  [in]           PIRP              Irp,
  [in]           ULONG             EventSetsCount,
  [in]           const KSEVENT_SET *EventSet,
  [in, out]      PLIST_ENTRY       EventsList,
  [in, optional] KSEVENTS_LOCKTYPE EventsFlags,
  [in, optional] PVOID             EventsLock
);

Parâmetros

[in] Irp

Especifica o IRP com a solicitação de habilitação sendo tratada. O objeto de arquivo associado ao IRP é armazenado com o evento para comparação posterior ao desabilitar o evento.

[in] EventSetsCount

Indica o número de estruturas do conjunto de eventos que estão sendo passadas.

[in] EventSet

Especifica um ponteiro para a lista de informações do conjunto de eventos.

[in, out] EventsList

Se o evento de habilitação KSEVENT_SET. AddHandler para o conjunto de eventos é NULL, ele deve apontar para o cabeçalho da lista de KSEVENT_ENTRY itens nos quais o evento deve ser adicionado. Essa função pressupõe uma única lista para pelo menos um subconjunto de eventos.

[in, optional] EventsFlags

Especifica KSEVENTS_LOCKTYPE sinalizadores que especificam o tipo de bloqueio de exclusão a ser usado no acesso à lista de eventos, se houver. Se nenhum sinalizador estiver definido, nenhum bloqueio será feito. Se um manipulador já estiver especificado, esse parâmetro será ignorado.

[in, optional] EventsLock

Se o KSEVENT_SET. AddHandler para o conjunto de eventos que contém o evento que está sendo habilitado é NULL, então isso é usado para sincronizar o acesso à lista. Esse valor poderá ser NULL se nenhum sinalizador for definido em EventsFlags.

Retornar valor

A função KsEnableEvent retorna STATUS_SUCCESS se tiver êxito ou um erro específico para o evento que está sendo habilitado se não tiver êxito. A função sempre define o IO_STATUS_BLOCK. Campo de informações do PIRP. Elemento IoStatus dentro do IRP para zero. Ele não define o IO_STATUS_BLOCK. Campo Status, nem conclui o IRP.

Comentários

Os minidrivers não chamam KsEnableEvent. Apenas um driver KS puro ou um driver de classe deve chamar essa rotina.

Requisitos

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

Confira também

KsDisableEvent