Função PoSetDeviceBusyEx (wdm.h)

A rotina PoSetDeviceBusyEx notifica o power manager de que o dispositivo associado ao contador ocioso especificado está ocupado.

Sintaxe

void PoSetDeviceBusyEx(
  [in, out] PULONG IdlePointer
);

Parâmetros

[in, out] IdlePointer

Um ponteiro para um contador ocioso. Esse é um valor de ponteiro que foi retornado anteriormente pela rotina PoRegisterDeviceForIdleDetection . Como PoRegisterDeviceForIdleDetection pode retornar um ponteiro NULL , o chamador deve verificar se o ponteiro não é NULL antes de chamar PoSetDeviceBusyEx.

Retornar valor

Nenhum

Comentários

Essa rotina é uma substituição direta para a macro PoSetDeviceBusy . Se você estiver escrevendo um novo código de driver para Windows Vista com Service Pack 1 (SP1) e versões posteriores do Windows, chame PoSetDeviceBusyEx em vez de PoSetDeviceBusy.

Um driver chama as rotinas PoSetDeviceBusyEx e PoRegisterDeviceForIdleDetection para habilitar a detecção ociosa do sistema para seu dispositivo. Se um dispositivo registrado para detecção ociosa permanecer ocioso pelo período de tempo limite especificado pelo driver, o gerenciador de energia enviará uma solicitação de IRP_MN_SET_POWER para colocar o dispositivo em um estado de suspensão solicitado.

PoSetDeviceBusyEx relata que o dispositivo está ocupado, para que o power manager possa reiniciar sua contagem regressiva ociosa. Se o dispositivo estiver em estado de suspensão, PoSetDeviceBusyEx não alterará o estado do dispositivo. Ou seja, ele não faz com que o sistema envie uma solicitação de IRP_MN_SET_POWER para despertar o dispositivo.

PoSetDeviceBusyEx foi projetado para uso com operações de E/S relativamente breves em comparação com o período de tempo limite do contador ocioso. Para operações mais longas que podem exceder esse período, use as rotinas PoStartDeviceBusy e PoEndDeviceBusy .

Um driver que faz várias solicitações para operações de E/S breves deve chamar PoSetDeviceBusyEx para cada solicitação de E/S feita.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista com SP1.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

IRP_MN_SET_POWER

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy

PoStartDeviceBusy