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.
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) |