Compartilhar via


função WinUsb_GetPowerPolicy (winusb.h)

A função WinUsb_GetPowerPolicy recupera a política de energia de um dispositivo. Essa é uma operação síncrona.

Sintaxe

BOOL WinUsb_GetPowerPolicy(
  [in]      WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in]      ULONG                   PolicyType,
  [in, out] PULONG                  ValueLength,
  [out]     PVOID                   Value
);

Parâmetros

[in] InterfaceHandle

Um identificador opaco para a primeira interface no dispositivo, que é retornado por WinUsb_Initialize.

[in] PolicyType

Um valor que especifica o parâmetro de política de energia a ser recuperado em Value. A tabela a seguir descreve constantes simbólicas definidas em Winusbio.h.

Tipo de política Descrição
AUTO_SUSPEND

(0x81)

Se o chamador especificar uma política de energia de AUTO_SUSPEND, WinUsb_GetPowerPolicy retornará o valor do parâmetro de política de suspensão automática no parâmetro Value .

Se Value for TRUE (ou seja, diferente de zero), a pilha USB suspenderá o dispositivo quando nenhuma transferência estiver pendente ou as únicas transferências pendentes forem transferências IN em um ponto de extremidade de interrupção ou em massa.

O valor do valor do Registro DefaultIdleState determina o valor padrão do parâmetro de política de suspensão automática.

O parâmetro Value deve apontar para uma variável UCHAR.

SUSPEND_DELAY

(0x83)

Se o chamador especificar uma política de energia de SUSPEND_DELAY, WinUsb_GetPowerPolicy retornará o valor do parâmetro de política de atraso de suspensão em Value.

O parâmetro de política de atraso de suspensão especifica a quantidade mínima de tempo, em milissegundos, que o driver WinUSB deve aguardar após qualquer transferência antes de poder suspender o dispositivo.

O valor deve apontar para uma variável ULONG.

[in, out] ValueLength

Um ponteiro para o tamanho do buffer que Valor. Na saída, ValueLength recebe o tamanho dos dados que foram copiados para o buffer Valor .

[out] Value

Um buffer que recebe o parâmetro de política de energia especificado. Para obter mais informações, consulte PolicyType.

Retornar valor

WinUsb_GetPowerPolicyretornará TRUE se a operação for bem-sucedida. Caso contrário, essa rotina retornará FALSE e o chamador poderá recuperar o erro registrado chamando GetLastError.

GetLastError pode retornar o código de erro a seguir.

Código de retorno Descrição
ERROR_INVALID_HANDLE
O chamador passou NULL no parâmetro InterfaceHandle .

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho winusb.h (inclua Winusb.h)
Biblioteca Winusb.lib
DLL Winusb.dll

Confira também

WinUSB

Funções do WinUSB

Gerenciamento de Energia do WinUSB

WinUsb_Initialize