Функция обратного вызова 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. Значение SupportRuntimePowerManagement — TRUE.
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 |
См. также раздел
DxgkCbSetPowerComponentLatency