Compartilhar via


Função PoStartDeviceBusy (ntifs.h)

A rotina de 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.

Valor de retorno

Nenhum

Observações

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

Para cada dispositivo, o do 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 ocupada por um. Uma chamada PoEndDeviceBusy diminui a contagem ocupada por um. Uma contagem de ocupado diferente de zero desabilita o contador ocioso para o dispositivo. Depois que a contagem ocupada 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 de PoSetDeviceBusyEx (ou a macro PoSetDeviceBusy). Para desabilitar o contador ocioso durante um período de atividade estendido, um driver pode chamar o PoRegisterDeviceForIdleDetection rotina 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 usar essas rotinas em um novo código que você escreve para o Windows 7 e versões posteriores do Windows.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 7.
da Plataforma de Destino Universal
cabeçalho ntifs.h (incluem Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL Qualquer nível

Consulte também

PoEndDeviceBusy

poRegisterDeviceForIdleDetection

PoSetDeviceBusy