Função PoSetDeviceBusyEx (ntifs.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 Windows Vista com SP1
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclui 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