Функция WdfDeviceInitSetPowerPolicyOwnership (wdfdevice.h)
[Применимо к KMDF и UMDF]
Метод WdfDeviceInitSetPowerPolicyOwnership определяет, является ли вызывающий драйвер или нет, владельцем политики питания для указанного устройства.
Синтаксис
void WdfDeviceInitSetPowerPolicyOwnership(
[in] PWDFDEVICE_INIT DeviceInit,
[in] BOOLEAN IsPowerPolicyOwner
);
Параметры
[in] DeviceInit
Вызывающий указатель на структуру WDFDEVICE_INIT.
[in] IsPowerPolicyOwner
Логическое значение, указывающее, является ли вызывающий драйвер владельцем политики питания. Если TRUE, вызывающий драйвер является владельцем политики питания. Если FALSE, это не владелец политики питания.
Возвращаемое значение
Никакой
Замечания
Если вы пишете драйвер функции на основе платформы, платформа автоматически устанавливает драйвер в качестве владельца политики питания. (Если устройство работает в необработанном режиме, драйвер шины является владельцем политики питания по умолчанию.)
Чтобы изменить владельца политики питания по умолчанию, следующие два драйвера должны вызывать WdfDeviceInitSetPowerPolicyOwnership:
- Владелец политики питания по умолчанию должен вызывать WdfDeviceInitSetPowerPolicyOwnership с IsPowerPolicyOwner для FALSE.
- Драйвер, который вы хотите быть владельцем политики питания, должен вызывать WdfDeviceInitSetPowerPolicyOwnership с IsPowerPolicyOwner значение TRUE.
Только один драйвер в каждом стеке может быть владельцем политики питания, поэтому необходимо убедиться, что только один драйвер вызывает WdfDeviceInitSetPowerPolicyOwnership с IsPowerPolicyOwner значение TRUE.
Если драйвер вызывает WdfDeviceInitSetPowerPolicyOwnership, перед вызовом WdfDeviceCreate. Дополнительные сведения см. в создании объекта устройства Framework.
Дополнительные сведения о вызове WdfDeviceInitSetPowerPolicyOwnershipсм. в владения политикой питания.
Примеры
В следующем примере кода используется пример драйвера serial. В этом примере проверяется значение реестра, чтобы определить, должен ли драйвер быть владельцем политики питания. Если драйвер не должен быть владельцем политики питания, в примере вызывается 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
);
}
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfdevice.h (include Wdf.h) |
библиотеки | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |