Funzione WdfDeviceInitSetPowerPolicyOwnership (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceInitSetPowerPolicyOwnership stabilisce se il driver chiamante è o meno, il proprietario dei criteri di alimentazione per un dispositivo specificato.
Sintassi
void WdfDeviceInitSetPowerPolicyOwnership(
[in] PWDFDEVICE_INIT DeviceInit,
[in] BOOLEAN IsPowerPolicyOwner
);
Parametri
[in] DeviceInit
Puntatore fornito dal chiamante a una struttura di WDFDEVICE_INIT .
[in] IsPowerPolicyOwner
Valore booleano che indica se il driver chiamante è il proprietario del criterio di alimentazione. Se TRUE, il driver chiamante è il proprietario del criterio di alimentazione. Se FALSE, non è il proprietario del criterio di alimentazione.
Valore restituito
nessuno
Osservazioni
Se si scrive un driver di funzione basato su framework, il framework stabilisce automaticamente il driver come proprietario del criterio di alimentazione. Se il dispositivo opera in modalità non elaborata, il driver del bus è il proprietario predefinito dei criteri di alimentazione.
Per modificare il proprietario predefinito dei criteri di alimentazione, i due driver seguenti devono chiamare WdfDeviceInitSetPowerPolicyOwnership:
- Il proprietario predefinito dei criteri di alimentazione deve chiamare WdfDeviceInitSetPowerPolicyOwnership con IsPowerPolicyOwner impostato su FALSE.
- Il driver che si vuole essere il proprietario del criterio di alimentazione deve chiamare WdfDeviceInitSetPowerPolicyOwnership con IsPowerPolicyOwner impostato su TRUE.
Un solo driver in ogni stack può essere il proprietario dei criteri di alimentazione, quindi è necessario assicurarsi che solo un driver chiami WdfDeviceInitSetPowerPolicyOwnership con IsPowerPolicyOwner impostato su TRUE.
Se il driver chiama WdfDeviceInitSetPowerPolicyOwnership, deve farlo prima di chiamare WdfDeviceCreate. Per altre informazioni, vedere Creazione di un oggetto Dispositivo Framework.
Per altre informazioni sulla chiamata a WdfDeviceInitSetPowerPolicyOwnership, vedere Proprietà di Power Policy.
Esempio
L'esempio di codice seguente è dal driver di esempio seriale . In questo esempio viene controllato un valore del Registro di sistema per determinare se un driver deve essere il proprietario dei criteri di alimentazione. Se il driver non deve essere il proprietario del criterio di alimentazione, l'esempio chiama 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
);
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |