функция обратного вызова DXGKCB_POWERRUNTIMECONTROLREQUEST (d3dkmddi.h)
Драйвер минипорта в режиме ядра вызывает DXGKCB_POWERRUNTIMECONTROLREQUEST для обмена информацией с подключаемым модулем Power Engine (PEP).
Синтаксис
DXGKCB_POWERRUNTIMECONTROLREQUEST DxgkcbPowerruntimecontrolrequest;
NTSTATUS DxgkcbPowerruntimecontrolrequest(
[in] IN_CONST_HANDLE hAdapter,
[in] IN LPCGUID PowerControlCode,
[in, optional] IN PVOID InBuffer,
[in] IN SIZE_T InBufferSize,
[in, optional] OUT PVOID OutBuffer,
[in] IN SIZE_T OutBufferSize,
[out] OUT PSIZE_T BytesReturned
)
{...}
Параметры
[in] hAdapter
Дескриптор видеоадаптера. Драйвер мини-порта дисплея получает дескриптор от элемента DeviceHandle структуры DXGKRNL_INTERFACE в вызове функции DxgkDdiStartDevice .
[in] PowerControlCode
Указатель на GUID, определяющий значение запроса управления драйвера мини-порта дисплея. Дополнительные сведения см. в подразделе "Примечания".
[in, optional] InBuffer
Необязательный указатель на входной буфер.
[in] InBufferSize
Размер (в байтах) необязательного буфера, на который указывает InBuffer . Установите значение 0, если inBuffer не указан.
[in, optional] OutBuffer
Необязательный указатель на выходной буфер.
[in] OutBufferSize
Размер в байтах необязательного буфера, на который указывает OutBuffer . Установите значение 0, если outBuffer не указан.
[out] BytesReturned
Количество фактических байтов, возвращаемых в буфере, на который указывает OutBuffer . Возвращаемое значение будет <равно = OutBufferSize.
Возвращаемое значение
DXGKCB_POWERRUNTIMECONTROLREQUEST возвращает STATUS_SUCCESS в случае успешного выполнения. В противном случае возвращается один из кодов ошибок, определенных в ntstatus.h.
Комментарии
Примечание
Чтобы избежать возможной взаимоблокировки, не вызывайте функцию DXGKCB_SETPOWERCOMPONENTACTIVE до тех пор, пока эта функция не будет возвращена.
DXGKCB_XXX функции реализуются dxgkrnl. Чтобы использовать эту функцию обратного вызова, вызовите DxgkCbPowerRuntimeControlRequest через DXGKRNL_INTERFACE.
Хотя драйвер может использовать любой GUID в параметре PowerControlCode , рекомендуется использовать следующие GUID, определенные в D3dkmddi.h . С помощью этих идентификаторов GUID драйвер порта дисплея может выдавать события трассировки событий Windows (ETW), которые полезны для профилирования проблем с производительностью драйвера.
GUID | Значение |
---|---|
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 не подразумевают наличие какого-либо протокола связи между драйвером минипорта дисплея и PEP, а также не подразумевают, что существуют какие-либо ограничения на значения, которые могут быть переданы между драйвером минипорта дисплея и PEP.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 (WDDM 1.2) |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dkmddi.h (включая D3dkmddi.h) |
IRQL | <=DISPATCH_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по