GET_D3COLD_CAPABILITY función de devolución de llamada (wdm.h)
La rutina GetBusDriverD3ColdSupport permite al controlador de un dispositivo consultar si el controlador de bus de enumeración admite el estado de alimentación del dispositivo D3cold.
Sintaxis
GET_D3COLD_CAPABILITY GetD3coldCapability;
NTSTATUS GetD3coldCapability(
[in, optional] PVOID Context,
[out] PBOOLEAN D3ColdSupported
)
{...}
Parámetros
[in, optional] Context
Puntero a información de contexto específica de la interfaz. El autor de la llamada establece este parámetro en el valor del miembro Context de la estructura D3COLD_SUPPORT_INTERFACE para la interfaz.
[out] D3ColdSupported
Puntero a una variable BOOLEAN a la que la rutina escribe un valor para indicar si el controlador de bus admite D3cold. Si este valor es TRUE, el controlador de bus admite D3cold. Si es FALSE, el controlador de autobús no admite D3cold. Si se produce un error en la llamada, la rutina devuelve un código de estado de error y no escribe nada en esta variable.
Valor devuelto
La rutina GetBusDriverD3ColdSupport devuelve STATUS_SUCCESS si se realiza correctamente. De lo contrario, devuelve un código de estado de error adecuado.
Comentarios
El controlador del dispositivo llama a la versión de esta rutina implementada por el controlador ACPI de Windows, Acpi.sys. Esta rutina comprueba el controlador de autobús primario del dispositivo para determinar si este controlador de bus admite el estado de alimentación D3cold.
Por ejemplo, a partir de Windows 8, Microsoft proporciona una bandeja de entrada USB 3.0 eXtensible Controladora de host (xHCI) controlador que admite D3cold. Algunos proveedores de hardware de terceros proporcionan controladores de Windows para sus controladores xHCI, pero es posible que estos controladores no admitan D3cold. El controlador de un dispositivo USB 3.0 puede llamar a la rutina GetBusDriverD3ColdSupport para determinar si el controlador de controlador xHCI primario admite D3cold.
Un controlador de bus admite D3cold si se cumplen todas las siguientes condiciones:
- El controlador de autobús implementa la interfaz de controlador GUID_D3COLD_SUPPORT_INTERFACE.
- El controlador de bus implementa la rutina GetBusDriverD3ColdSupport en esta interfaz.
- El valor de salida de la rutina GetBusDriverD3ColdSupport indica que el controlador de bus admite D3cold.
Un dispositivo de un bus puede realizar una transición a la subestado D3cold solo si el controlador de bus admite esta transición. Si el controlador de bus no admite D3cold, el dispositivo nunca entra en D3cold, aunque el controlador de función del dispositivo llame a la rutina SetD3ColdSupport para habilitar la transición a D3cold. En este caso, las llamadas a SetD3ColdSupport no tienen ningún efecto, pero son inofensivas.
Por este motivo, la mayoría de los controladores de dispositivos nunca necesitan llamar a la rutina GetBusDriverD3ColdSupport .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8. |
Plataforma de destino | Escritorio |
Encabezado | wdm.h (incluya Wdm.h) |
IRQL | PASSIVE_LEVEL |