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


Функция обратного вызова DXGKDDIPOWERRUNTIMECONTROLREQUEST (d3dkmddi.h)

Вызывается подключаемым модулем Power Engine (PEP) для обмена информацией с драйвером мини-порта дисплея. Также вызывается подсистемой ядра графики Microsoft DirectX для уведомления драйвера мини-порта дисплея об определенных событиях.

Синтаксис

DXGKDDIPOWERRUNTIMECONTROLREQUEST Dxgkddipowerruntimecontrolrequest;

NTSTATUS Dxgkddipowerruntimecontrolrequest(
  IN_CONST_HANDLE DriverContext,
  IN LPCGUID PowerControlCode,
  IN PVOID InBuffer,
  IN SIZE_T InBufferSize,
  OUT PVOID OutBuffer,
  IN SIZE_T OutBufferSize,
  OUT PSIZE_T BytesReturned
)
{...}

Параметры

DriverContext

Дескриптор для блока контекста, связанного с видеоадаптером. Функция DxgkDdiAddDevice драйвера мини-порта дисплея ранее предоставляла этот дескриптор подсистеме графического ядра DirectX.

PowerControlCode

Указатель на GUID, определяющий значение запроса элемента управления PEP. Дополнительные сведения см. в подразделе "Примечания".

InBuffer

Необязательный указатель на входной буфер.

InBufferSize

Размер (в байтах) буфера, на который указывает InBuffer .

OutBuffer

Необязательный указатель на выходной буфер.

OutBufferSize

Размер (в байтах) буфера, на который указывает OutBuffer .

BytesReturned

Необязательный указатель на буфер, содержащий количество байтов, записываемых драйвером мини-порта дисплея в выходной буфер.

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

При успешном выполнении возвращает STATUS_SUCCESS. В противном случае возвращается один из кодов ошибок, определенных в ntstatus.h.

Комментарии

Операционная система вызывает DxgkDdiPowerRuntimeControlRequest , только если драйвер мини-порта дисплея указывает на поддержку, задав DXGK_DRIVERCAPS. Значение SupportRuntimePowerManagementTRUE.

GUID, используемые подключаемым модулем Power Engine (PEP)

PEP использует следующие идентификаторы GUID, определенные в D3dkmddi.h, для обмена информацией с драйвером мини-порта дисплея. Драйвер порта отображения использует эти идентификаторы GUID для выдачи событий трассировки событий Windows (ETW), которые полезны для профилирования проблем с производительностью драйвера.
GUID_DXGKDDI_POWER_VOLTAGE_UP
Увеличьте напряжение.
GUID_DXGKDDI_POWER_VOLTAGE_DOWN
Уменьшите напряжение.
GUID_DXGKDDI_POWER_VOLTAGE
Измените напряжение, но драйвер не знает, является ли изменение увеличением или уменьшением.
GUID_DXGKDDI_POWER_CLOCK_UP
Увеличьте значение часы.
GUID_DXGKDDI_POWER_CLOCK_DOWN
Уменьшите значение часы.
GUID_DXGKDDI_POWER_CLOCK
Изменение параметров часов, но драйвер не знает, является ли изменение увеличением или уменьшением.
GUID_DXGKDDI_POWER_BANDWIDTH_UP
Увеличить пропускную способность.
GUID_DXGKDDI_POWER_BANDWIDTH_DOWN
Уменьшите пропускную способность.
GUID_DXGKDDI_POWER_BANDWIDTH
Измените пропускную способность, но драйвер не знает, является ли изменение увеличением или уменьшением.

ИДЕНТИФИКАТОРы GUID, используемые подсистемой ядра графики DirectX

Подсистема ядра графики DirectX использует следующие идентификаторы GUID, определенные в D3dkmddi.h, для уведомления драйвера мини-порта дисплея об определенных событиях.
GUID_DXGKDDI_POWER_MANAGEMENT_PREPARE_TO_START
Используется после того, как подсистема графического ядра DirectX регистрирует устройство для управления питанием среды выполнения, но до запуска устройства. После вызова этой функции с этим GUID драйвер мини-порта дисплея может вызывать следующие функции:
GUID_DXGKDDI_POWER_MANAGEMENT_STARTED
Используется после того, как подсистема ядра графики DirectX запускает управление питанием среды выполнения. После вызова этой функции с этим ИДЕНТИФИКАТОРом GUID драйвер мини-порта дисплея может вызывать любые функции среды выполнения питания.
GUID_DXGKDDI_POWER_MANAGEMENT_STOPPED
Используется непосредственно перед тем, как подсистема ядра графики DirectX отменяет регистрацию устройства для управления питанием во время выполнения. После вызова этой функции с этим ИДЕНТИФИКАТОРом GUID драйвер мини-порта дисплея не должен вызывать какие-либо функции среды выполнения питания.

Синхронизации

Эту функцию можно вызывать одновременно из нескольких потоков выполнения.

Операционная система гарантирует, что эта функция будет следовать режиму синхронизации нулевого уровня, как определено в разделе Потоки и синхронизация нулевого уровня.

Требования

Требование Значение
Минимальная версия клиента Windows 8
Минимальная версия сервера Windows Server 2012
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

См. также раздел

DXGKARG_QUERYADAPTERINFO

DXGK_DRIVERCAPS

DxgkCbSetPowerComponentActive

DxgkCbSetPowerComponentLatency

DxgkCbSetPowerComponentResidency

DxgkDdiAddDevice