DXGKCB_DISCONNECTDOORBELL función de devolución de llamada (d3dkmddi.h)
Importante
Cierta información se relaciona con un producto de versión preliminar que puede modificarse sustancialmente antes de su publicación comercial. Microsoft no ofrece ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
KMD llama DxgkCbDisconnectDoorbell para notificar a Dxgkrnl que KMD necesita desconectar un timbre conectado previamente de una cola de hardware.
Sintaxis
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
Parámetros
pArgs
[in] Puntero a una estructura de DXGKARGCB_DISCONNECTDOORBELL que describe el timbre que se va a desconectar.
Valor devuelto
dxgkCbDisconnectDoorbell devuelve STATUS_INVALID_PARAMETER si Dxgkrnl no encuentra el hDoorbell asociado para hHwQueue, o si DisconnectReason no es uno de los valores deXXX de D3DDDI_DOORBELLSTATUS_DISCONNECTED_. En todos los demás casos, esta función se realiza correctamente, incluso cuando el timbre ya está desconectado.
Observaciones
KMD llama a esta función para notificar a dxgkrnl cuando necesita desconectar un timbre. KMD debe considerar que la dirección de timbre físico se desconecta solo después de volver de esta devolución de llamada.
Dxgkrnl desasignación de las direcciones virtuales y marca el timbre como desconectado. En concreto, Dxgkrnl realiza los pasos siguientes para desconectar el timbre:
- Gira el modo de usuario DoorbellCpuVirtualAddress a una página ficticia para que UMD ya no pueda escribir en la ubicación física del timbre.
- Escribe el DisconnectReason en DoorbellStatusCpuVirtualAddress para que UMD sepa que el timbre está desconectado y el motivo por el que.
Para obtener más información, consulte envío de trabajo en modo de usuario.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 11, versión 24H2 (WDDM 3.2) |
encabezado de | d3dkmddi.h |
irQL | PASSIVE_LEVEL |