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


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

Важно!

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

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

Синтаксис

DXGKDDI_DISCONNECTDOORBELL DxgkddiDisconnectdoorbell;

NTSTATUS DxgkddiDisconnectdoorbell(
  INOUT_PDXGKARG_DISCONNECTDOORBELL pArgs
)
{...}

Параметры

pArgs

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

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

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

Комментарии

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

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

По возвращении из этого вызова 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