Поделиться через


функция обратного вызова GET_D3COLD_CAPABILITY (wdm.h)

Подпрограмма GetBusDriverD3ColdSupport позволяет водителю устройства запрашивать, поддерживает ли драйвер перечисления драйвер шины состояние питания D3cold.

Синтаксис

GET_D3COLD_CAPABILITY GetD3coldCapability;

NTSTATUS GetD3coldCapability(
  [in, optional] PVOID Context,
  [out]          PBOOLEAN D3ColdSupported
)
{...}

Параметры

[in, optional] Context

Указатель на сведения о контексте для интерфейса. Вызывающий объект задает этому параметру значение Context член структуры D3COLD_SUPPORT_INTERFACE для интерфейса.

[out] D3ColdSupported

Указатель на переменную BOOLEAN, в которую подпрограмма записывает значение, указывающее, поддерживает ли водитель шины D3cold. Если это значение равно TRUE, драйвер шины поддерживает D3cold. Если FALSE, драйвер шины не поддерживает D3cold. Если вызов завершается сбоем, подпрограмма возвращает код состояния ошибки и не записывает ничего в эту переменную.

Возвращаемое значение

Подпрограмма GetBusDriverD3ColdSupport возвращает STATUS_SUCCESS, если она выполнена успешно. В противном случае возвращается соответствующий код состояния ошибки.

Замечания

Драйвер для устройства вызывает версию этой подпрограммы, реализованную драйвером Windows ACPI, Acpi.sys. Эта подпрограмма проверяет родительский драйвер шины для устройства, чтобы определить, поддерживает ли этот драйвер питания D3cold.

Например, начиная с Windows 8 корпорация Майкрософт предоставляет драйвер контроллера контроллера узла (xHCI), поддерживающий D3cold usb 3.0 eXtensible. Некоторые сторонние поставщики оборудования предоставляют драйверы Windows для своих контроллеров xHCI, но эти драйверы могут не поддерживать D3cold. Драйвер устройства USB 3.0 может вызывать GetBusDriverD3ColdSupport, чтобы определить, поддерживает ли родительский драйвер контроллера xHCI D3cold.

Водитель шины поддерживает D3cold, если все из следующих значений имеют значение true:

  • Драйвер шины реализует интерфейс драйвера GUID_D3COLD_SUPPORT_INTERFACE.
  • Драйвер шины реализует подпрограмму GetBusDriverD3ColdSupport в этом интерфейсе.
  • Выходное значение из GetBusDriverD3ColdSupport указывает, что драйвер шины поддерживает D3cold.
Драйвер устройства может вызывать подпрограмму GetIdleWakeInfo, чтобы определить, поддерживают ли базовые драйверы шины и встроенное ПО системы ACPI D3cold для устройства. Если этот вызов завершается ошибкой и возвращает код состояния ошибки, драйвер устройства может вызвать процедуру GetBusDriverD3ColdSupport, чтобы определить, вызвана ли ошибка отсутствием поддержки D3cold драйвером родительской шины.

Устройство на шине может перейти к подстатю D3cold только в том случае, если водитель шины поддерживает этот переход. Если драйвер шины не поддерживает D3cold, устройство никогда не вводит D3cold, даже если драйвер-функция для устройства вызывает подпрограмму SetD3ColdSupport, чтобы включить переход на D3cold. В этом случае SetD3ColdSupport вызовы не влияют, но безвредны.

По этой причине большинство драйверов устройств никогда не должны вызывать подпрограмму GetBusDriverD3ColdSupport.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Настольный
заголовка wdm.h (include Wdm.h)
IRQL PASSIVE_LEVEL

См. также

D3COLD_SUPPORT_INTERFACE

GetIdleWakeInfo

SetD3ColdSupport