Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Некоторые сведения относятся к предварительному продукту, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.
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 |