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 de temporizador, NotificationTimer ou SynchronizationTimer.
Retornar valor
Nenhum
Comentários
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 em 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 |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (consulte a seção Comentários) |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm) |