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


Функция D3DKMTConnectDoorbell (d3dkmthk.h)

Это важно

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

D3DKMTConnectDoorbell подключает (или повторно подключает) ранее созданную дверь к очереди оборудования.

Синтаксис

NTSTATUS D3DKMTConnectDoorbell(
  D3DKMT_CONNECT_DOORBELL *unnamedParam1
);

Параметры

unnamedParam1

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

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

D3DKMTConnectDoorbell возвращает STATUS_SUCCESS, когда ОС успешно подключает дверь к аппаратной очереди, и UMD может использовать эту дверь для отправки рабочих данных. Обычно этот вызов не должен завершать ошибку; Однако код сбоя будет получен из потерянных или остановки типов безвозвратных сценариев GPU.

Замечания

Каждый раз, когда UMD отправляет новую работу в очередь оборудования и звонит дверью, он должен прочитать DoorbellStatusCPUVirtualAddress , чтобы проверить, удалось ли кольцо двери. При сбое UMD должен вызвать D3DKMTConnectDoorbell , чтобы повторно подключить дверь, а затем повторите попытку отправки.

Дверь может быть отключена по нескольким причинам:

  • Когда создается дверь, ОС инициализирует его в состоянии "отключенного" и подключает его только при первом вызове D3DKMTConnectDoorbell .
  • Дверь была "жертвой" на оборудовании, которое поддерживает выделенную модель doorbell. То есть физической двери этой очереди оборудования была назначена другой очереди оборудования. Это переназначение, скорее всего, связано с тем, что на GPU создаются больше аппаратных очередей, чем физические двери.
  • Дверь была отключена в рамках приостановки аппаратной очереди или выключения GPU.

Когда UMD вызывает D3DKMTConnectDoorbell для подключения двери, назначенной аппаратной очереди, ОС делает соответствующий вызов DxgkDdiConnectDoorbell к KMD, чтобы KMD мог найти физическую дверь, назначить его этой очереди оборудования и сделать необходимые подключения между аппаратной очередью, дверью, планировщиком GPU и т. д.

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 11 версии 24H2 (WDDM 3.2)
Header d3dkmthk.h

См. также

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell