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

Важно!

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

KMD вызывает эту функцию DxgkCbDisconnectDoorbell , чтобы уведомить Dxgkrnl о том, что KMD необходимо отключить ранее подключенный объект doorbell от очереди оборудования.

Синтаксис

DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;

NTSTATUS DxgkcbDisconnectdoorbell(
  INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}

Параметры

pArgs

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

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

DxgkCbDisconnectDoorbell возвращает STATUS_INVALID_PARAMETER, если Dxgkrnl не удается найти связанный объект дверного звонка для hHwQueue. Во всех остальных случаях эта функция выполняется успешно, даже если дверный звонок уже отключен.

Комментарии

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

Dxgkrnl отменяет сопоставление виртуальных адресов и помечает дверный звонок как отключенный. В частности, Dxgkrnl выполняет следующие действия, чтобы отключить дверной звонок:

  • Поворачивает в пользовательском режиме DoorbellCpuVirtualAddress на фиктивную страницу, чтобы UMD больше не могли записывать данные в физическое расположение дверного звонка.
  • Записывает DisconnectReason в DoorbellStatusCpuVirtualAddress , чтобы UMD знал, что дверный звонок отключен и причину.

Требования

Требование Значение
Минимальная версия клиента WIN11_FUTURE
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

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

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell