Compartilhar via


Função WdfDeviceInitSetPowerPolicyOwnership (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceInitSetPowerPolicyOwnership estabelece se o driver de chamada é ou não o proprietário da política de energia de um dispositivo especificado.

Sintaxe

void WdfDeviceInitSetPowerPolicyOwnership(
  [in] PWDFDEVICE_INIT DeviceInit,
  [in] BOOLEAN         IsPowerPolicyOwner
);

Parâmetros

[in] DeviceInit

Um ponteiro fornecido pelo chamador para uma estrutura de WDFDEVICE_INIT .

[in] IsPowerPolicyOwner

Um valor booliano que indica se o driver de chamada é o proprietário da política de energia. Se TRUE, o driver de chamada será o proprietário da política de energia. Se FALSE, ele não será o proprietário da política de energia.

Retornar valor

Nenhum

Comentários

Se você estiver escrevendo um driver de função baseado em estrutura, a estrutura estabelecerá automaticamente seu driver como o proprietário da política de energia. (Se o dispositivo opera no modo bruto, o motorista do barramento é o proprietário padrão da política de energia.)

Para alterar o proprietário da política de energia padrão, os dois drivers a seguir devem chamar WdfDeviceInitSetPowerPolicyOwnership:

  • O proprietário da política de energia padrão deve chamar WdfDeviceInitSetPowerPolicyOwnership com IsPowerPolicyOwner definido como FALSE.
  • O driver que você deseja ser o proprietário da política de energia deve chamar WdfDeviceInitSetPowerPolicyOwnership com IsPowerPolicyOwner definido como TRUE.
Se você estiver escrevendo um driver de barramento baseado em estrutura ou driver de filtro e se o dispositivo não operar no modo bruto, o driver não será o proprietário da política de energia, a menos que chame WdfDeviceInitSetPowerPolicyOwnership.

Somente um driver em cada pilha pode ser o proprietário da política de energia, portanto, você deve garantir que apenas um driver chame WdfDeviceInitSetPowerPolicyOwnership com IsPowerPolicyOwner definido como TRUE.

Se o driver chamar WdfDeviceInitSetPowerPolicyOwnership, ele deverá fazer isso antes de chamar WdfDeviceCreate. Para obter mais informações, consulte Criando um objeto de dispositivo de estrutura.

Para obter mais informações sobre como chamar WdfDeviceInitSetPowerPolicyOwnership, consulte Propriedade da política do Power.

Exemplos

O exemplo de código a seguir é do driver de exemplo serial . Este exemplo verifica um valor do Registro para determinar se um driver deve ser o proprietário da política de energia. Se o driver não deve ser o proprietário da política de energia, o exemplo chama WdfDeviceInitSetPowerPolicyOwnership.

//
// Call subroutine that checks a registry value.
//
SerialGetFdoRegistryKeyValue(
                             DeviceInit,
                             L"SerialRelinquishPowerPolicy",
                             &relinquishPowerPolicy
                             );
//
// If the registry value is TRUE, do not own power policy.
//
if(relinquishPowerPolicy) {
    WdfDeviceInitSetPowerPolicyOwnership(
                                         DeviceInit,
                                         FALSE
                                         );
}

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Regras de conformidade de DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Confira também

WdfDeviceCreate