Partilhar via


Função KeInitializeTimerEx (wdm.h)

A rotina KeInitializeTimerEx inicializa um objeto de temporizador de kernel estendido.

Sintaxe

void KeInitializeTimerEx(
  [out] PKTIMER    Timer,
  [in]  TIMER_TYPE Type
);

Parâmetros

[out] Timer

Ponteiro para um objeto de temporizador, para o qual o chamador fornece o armazenamento.

[in] Type

Especifica o tipo do objeto timer, notificationTimer ou SynchronizationTimer.

Valor de retorno

Nenhum

Observações

O objeto timer é inicializado para um estado não sinalizado.

O armazenamento de um objeto de temporizador deve ser residente: na extensão do dispositivo de um objeto de dispositivo criado pelo driver, na extensão do controlador de um objeto de controlador criado pelo driver ou no pool nãopagado alocado pelo chamador.

Quando um temporizador de notificação expira, todos os threads de espera são liberados e o temporizador permanece no estado sinalizado até que seja redefinido explicitamente. Quando um temporizador de sincronização expira, ele é definido como um estado sinalizado até que um único thread de espera seja liberado e, em seguida, o temporizador seja redefinido para um estado não sinalizado.

Os chamadores de KeInitializeTimerEx devem estar em execução no IRQL = DISPATCH_LEVEL ou inferior. É melhor inicializar temporizadores em IRQL = PASSIVE_LEVEL.

Para obter mais informações sobre objetos de temporizador, consulte Objetos do Temporizador e DPCs.

Use KeSetTimer ou KeSetTimerEx para definir quando o temporizador expirará.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 2000.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (consulte a seção Comentários)
regras de conformidade de DDI HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm)

Consulte também

KeCancelTimer

KeReadStateTimer

KeSetTimer

KeSetTimerEx

KeWaitForMultipleObjects

KeWaitForSingleObject