функция обратного вызова 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 |