Função PoStartDeviceBusy (ntifs.h)

A rotina PoStartDeviceBusy marca o início de um período em que o dispositivo está ocupado.

Sintaxe

void PoStartDeviceBusy(
  [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 PoStartDeviceBusy.

Retornar valor

Nenhum

Comentários

As rotinas PoStartDeviceBusy e PoEndDeviceBusy marcam o início e o fim de um período de tempo em que um dispositivo está ocupado. Cada chamada para PoStartDeviceBusy deve ser seguida por uma chamada correspondente para PoEndDeviceBusy.

Para cada dispositivo, o power manager mantém uma contagem do número de chamadas PoStartDeviceBusy pendentes para as quais ele ainda não recebeu uma chamada PoEndDeviceBusy correspondente. Uma chamada PoStartDeviceBusy incrementa a contagem de ocupado em um. Uma chamada PoEndDeviceBusy diminui a contagem de ocupado em um. Uma contagem de ocupado diferente de zero desabilita o contador ocioso para o dispositivo. Depois que a contagem de ocupado atinge zero, o power manager redefine o contador ocioso para o período de tempo limite e habilita o contador.

Em vez de usar as rotinas PoStartDeviceBusy e PoEndDeviceBusy para redefinir o contador ocioso, você pode chamar a rotina PoSetDeviceBusyEx (ou a macro PoSetDeviceBusy ). Para desabilitar o contador ocioso durante um período de disponibilidade estendido, um driver pode chamar a rotina PoRegisterDeviceForIdleDetection para desabilitar e habilitar notificações ociosas no início e no final do período ocupado. No entanto, PoStartDeviceBusy e PoEndDeviceBusy normalmente são mais convenientes de usar para essa finalidade, e você deve considerar o uso dessas rotinas em um novo código que você escreve para o Windows 7 e versões posteriores do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7.
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

PoEndDeviceBusy

PoRegisterDeviceForIdleDetection

PoSetDeviceBusy