Condividi tramite


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.
Se si scrive un driver del bus o un driver filtro basato su framework e se il dispositivo non funziona in modalità non elaborata, il driver non sarà il proprietario del criterio di alimentazione a meno che non chiami WdfDeviceInitSetPowerPolicyOwnership.

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)

Vedi anche

WdfDeviceCreate