Compartir a través de


Función WdfDeviceAssignSxWakeSettings (wdfdevice.h)

[Se aplica a KMDF y UMDF]

El método WdfDeviceAssignSxWakeSettings proporciona información proporcionada por el controlador sobre la capacidad de un dispositivo para desencadenar una señal de reactivación mientras el dispositivo y el sistema están en un estado de bajo consumo.

Sintaxis

NTSTATUS WdfDeviceAssignSxWakeSettings(
  [in] WDFDEVICE                              Device,
  [in] PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings
);

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] Settings

Puntero a una estructura de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS proporcionada por el autor de la llamada.

Valor devuelto

Si la operación se realiza correctamente, WdfDeviceAssignSxWakeSettings devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_INVALID_DEVICE_REQUEST
El controlador de llamada no es el propietario de la directiva de energía del dispositivo.
STATUS_INVALID_PARAMETER
Se detecta un valor de configuración no válido.
STATUS_INFO_LENGTH_MISMATCH
El tamaño de la estructura de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS es incorrecto.
STATUS_POWER_STATE_INVALID
El controlador de bus indica que el dispositivo no puede desencadenar una señal de reactivación o la estructura de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS contiene un estado de alimentación del dispositivo no válido.
 

El método podría devolver otros valores NTSTATUS.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Para obtener más información, consulte Compatibilidad con reactivación del sistema.

Ejemplos

En el ejemplo de código siguiente se inicializa una estructura de WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS y, a continuación, se llama a WdfDeviceAssignSxWakeSettings. En el ejemplo se usa la configuración predeterminada que WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT establece.

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS  wakeSettings;
NTSTATUS  status = STATUS_SUCCESS;

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS_INIT(&wakeSettings);

status = WdfDeviceAssignSxWakeSettings(
                                       device,
                                       &wakeSettings
                                       );
if (!NT_SUCCESS(status)) {
    return status;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI DriverCreate(kmdf), FDOPowerPolicyOwnerAPI(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), NonFDONotPowerPolicyOwnerAPI(kmdf)

Consulte también

WDF_DEVICE_POWER_POLICY_WAKE_SETTINGS

WdfDeviceAssignS0IdleSettings