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 lanzamiento comercial. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
KMD llama a DxgkCbDisconnectDoorbell para notificar a Dxgkrnl que KMD necesita desconectar un timbre de puerta 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 DXGKARGCB_DISCONNECTDOORBELL que describe el timbre de puerta 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 D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX . En todos los demás casos, esta función se realiza correctamente, incluso cuando el timbre ya está desconectado.
Comentarios
KMD llama a esta función para notificar a Dxgkrnl cuando necesite desconectar un timbre. KMD debe considerar que la dirección del 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 en una página ficticía para que UMD ya no pueda escribir en la ubicación del timbre físico.
- Escribe DisconnectReason en DoorbellStatusCpuVirtualAddress para que UMD sepa que el timbre de puerta está desconectado y la razón por la que.
Para obtener más información, vea Envío de trabajo en modo de usuario.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11, versión 24H2 (WDDM 3.2) |
Encabezado | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |