IWDFDevice3::AssignS0IdleSettingsEx-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF-.]
Die AssignS0IdleSettingsEx--Methode stellt vom Treiber bereitgestellte Informationen bereit, die das Framework verwendet, wenn ein Gerät im Leerlauf ist und sich das System im Arbeitszustand (S0) befindet.
HRESULT AssignS0IdleSettingsEx(
[in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);
[in] IdleSettings
Ein Zeiger auf eine WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Struktur, die durch einen Aufruf des WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT-Makros initialisiert wurde.
Die Methode gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode einen der Fehlercodes zurück, die in Winerror.h definiert sind.
Ein Treiber kann AssignS0IdleSettingsEx- jederzeit aufrufen, nachdem der Treiber IWDFDriver::CreateDeviceaufgerufen hat. Vor dem Aufrufen IWDFDriver::CreateDevicemuss der Treiber IWDFDeviceInitialize::SetPowerPolicyOwnership aufrufen, wobei der fTrue Parameter auf TRUEfestgelegt ist. Ein Beispiel für diese Aufrufsequenz finden Sie unter IWDFDriver::CreateDevice.
Wenn Ihr Treiber AssignS0IdleSettingsEx- mehrmals aufruft, befolgen Sie die im Abschnitt "Hinweise" von AssignS0IdleSettingsbeschriebenen Regeln.
Weitere Informationen zum Herunterfahren im Leerlauf finden Sie unter Unterstützen von Leerlauf-Power-Down in UMDF-basierten Treibern.
Im folgenden Codebeispiel wird eine WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Struktur initialisiert und ein Leerlauftimeoutwert von 10 Sekunden festgelegt. Anschließend ruft das Beispiel die IWDFDevice3 Schnittstelle ab und ruft AssignS0IdleSettingsExauf.
IWDFDevice3 *pIWDFDevice3 = NULL;
HRESULT hr;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS idleSettings;
WUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS_INIT(
&idleSettings,
IdleCanWakeFromS0
);
idleSettings.IdleTimeout = 10000;
//
// Get a pointer to the IWDFDevice3 interface.
//
hr = pIWDFDevice->QueryInterface(__uuidof(IWDFDevice3),
(void**) &pIWDFDevice3);
if (SUCCEEDED(hr))
{
hr = pIWDFDevice3->AssignS0IdleSettingsEx(&idleSettings
);
}
...
SAFE_RELEASE(pIWDFDevice3);
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform- | Desktop |
Mindest-UMDF-Version | 1.11 |
Header- | wudfddi.h |
DLL- | WUDFx.dll |