DXGKCB_DISCONNECTDOORBELL fonction de rappel (d3dkmddi.h)
Important
Certaines informations se rapportent à un produit de préversion qui peut être considérablement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
KMD appelle DxgkCbDisconnectDoorbell pour informer Dxgkrnl que KMD doit déconnecter une sonnette précédemment connectée d’une file d’attente matérielle.
Syntaxe
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
Paramètres
pArgs
[in] Pointeur vers une structure DXGKARGCB_DISCONNECTDOORBELL qui décrit la sonnette à déconnecter.
Valeur retournée
DxgkCbDisconnectDoorbell retourne STATUS_INVALID_PARAMETER si Dxgkrnl ne trouve pas la hDoorbell associée pour hHwQueue, ou si DisconnectReason ne fait pas partie des valeurs D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX . Dans tous les autres cas, cette fonction réussit, même lorsque la sonnette de porte est déjà déconnectée.
Remarques
KMD appelle cette fonction pour avertir Dxgkrnl lorsqu’il doit déconnecter une sonnette. KMD doit considérer que l’adresse de sonnette physique n’est déconnectée qu’après le retour de ce rappel.
Dxgkrnl annule le mappage des adresses virtuelles et marque la sonnette comme étant déconnectée. Plus précisément, Dxgkrnl effectue les étapes suivantes pour déconnecter la sonnette de porte :
- Fait pivoter le mode utilisateur DoorbellCpuVirtualAddress vers une page factice afin qu’UMD ne puisse plus écrire dans l’emplacement de la sonnette physique.
- Écrit DisconnectReason dans DoorbellStatusCpuVirtualAddress pour que UMD sache que la sonnette de porte est déconnectée et la raison.
Pour plus d’informations, consultez Soumission de travail en mode utilisateur.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11, version 24H2 (WDDM 3.2) |
En-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |