функция обратного вызова 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 |