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


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

Важный

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

Функция DxgkDdiDisconnectDoorbell отключает ранее подключенную дверь из очереди оборудования.

Синтаксис

DXGKDDI_DISCONNECTDOORBELL DxgkddiDisconnectdoorbell;

NTSTATUS DxgkddiDisconnectdoorbell(
  INOUT_PDXGKARG_DISCONNECTDOORBELL pArgs
)
{...}

Параметры

pArgs

[in/out] Указатель на структуру DXGKARG_DISCONNECTDOORBELL, описывающую дверь, чтобы отключиться.

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

DxgkDdiDisconnectDoorbell должны быть успешными и возвращать STATUS_SUCCESS.

Замечания

ОС вызывает DxgkDdiDisconnectDoorbell, чтобы распутать физическое расположение двери, назначенное этой двери. KMD должен отключить очередь оборудования, физический адрес и двигатель doorbell и т. д. Физическое расположение двери может быть назначено другому логическому объекту doorbell.

KMD не должен уничтожать или освобождать другие объекты, связанные с hDoorbell, поскольку объект doorbell не уничтожается и может быть пересоединен в более позднюю точку.

При возвращении из этого вызова DDI Dxgkrnl выполняет следующие действия, чтобы отключить дверь:

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11 версии 24H2 (WDDM 3.2)
заголовка d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также

D3DDDI_DOORBELLSTATUS

D3DKMT_CREATE_DOORBELL

DXGKARG_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell

DxgkDdiDisconnectDoorbellCB