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


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

Dxgkrnl вызывает DxgkDdiUpdateMonitoredValues , чтобы указать драйверу отображения в режиме ядра (KMD) обновить пакет отслеживаемых значений.

Синтаксис

DXGKDDI_UPDATEMONITOREDVALUES DxgkddiUpdatemonitoredvalues;

NTSTATUS DxgkddiUpdatemonitoredvalues(
  IN_CONST_PDXGKARG_UPDATEMONITOREDVALUES pUpdateMonitoredValues
)
{...}

Параметры

pUpdateMonitoredValues

[in] Указатель на структуру DXGKARG_UPDATEMONITOREDVALUES , содержащую отслеживаемые значения для обновления.

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

DxgkDdiUpdateMonitoredValues возвращает STATUS_SUCCESS, удалось ли KMD успешно обновить пакет отслеживаемых значений. В противном случае возвращается соответствующий код ошибки NTSTATUS.

Комментарии

DxgkDdiUpdateMonitoredValues выполняется на уровне прерывания устройства и, таким образом, синхронизируется с отслеживаемой подпрограммой обслуживания прерываний с сигналом ограждения (ISR).

Реализация DxgkDdiUpdateMonitoredValues в KMD должна гарантировать, что значение CurrentValue , прочитанное любым ядром процессора после возврата вызова, было записано обработчиком управления контекстом GPU после наблюдения за новым MonitoredValue.

Ожидается, что DxgkDdiUpdateMonitoredValues записывает значения UpdatedValueArray в расположение, указанное MonitoredValueGpuVa, при выполнении контракта синхронизации.

Ос гарантирует только, что указатель MonitoredValueKernelCpuVa действителен в течение всего времени вызова DDI, а не до или после него. Следовательно, KMD никогда не должен кэшировать этот указатель для его использования в другом месте.

Дополнительные сведения о собственных ограждениях GPU см. в разделе Объекты ограждения собственных GPU.

Требования

Требование Значение
Минимальная версия клиента Windows 11, версия 24H2
Верхняя часть d3dkmddi.h
IRQL PROFILE_LEVEL-1

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

DXGKARG_UPDATEMONITOREDVALUES