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.

Syntax

C++
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

Siehe auch

IWDFDevice2::AssignS0IdleSettings

IWDFDevice3-

WdfDeviceAssignS0IdleSettings