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


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

Важно!

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

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

Синтаксис

DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;

NTSTATUS DxgkcbDisconnectdoorbell(
  INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}

Параметры

pArgs

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

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

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

Комментарии

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

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 24H2 (WDDM 3.2)
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

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

DXGKARGCB_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell