Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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.
Syntax
HRESULT AssignS0IdleSettingsEx(
[in] PWUDF_DEVICE_POWER_POLICY_IDLE_SETTINGS IdleSettings
);
Parameter
[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.
Rückgabewert
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.
Bemerkungen
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.
Beispiele
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);
Anforderungen
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 |