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 |