DXGKDDI_PATCH fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiPatch affecte des adresses physiques à la mémoire tampon d’accès direct (DMA) donnée avant l’envoi de la mémoire tampon DMA au matériel graphique.
Syntaxe
DXGKDDI_PATCH DxgkddiPatch;
NTSTATUS DxgkddiPatch(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PATCH pPatch
)
{...}
Paramètres
[in] hAdapter
Handle vers un bloc de contexte associé à un adaptateur d’affichage. Le pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique Microsoft DirectX dans le MiniportDeviceContext paramètre de sortie de la fonction DxgkDdiAddDevice.
[in] pPatch
Pointeur vers une structure DXGKARG_PATCH qui décrit la mémoire tampon DMA à corriger avec des adresses physiques.
Valeur de retour
Retourne STATUS_SUCCESS une fois l’opération terminée. Si le pilote retourne plutôt un code d’erreur, le système d’exploitation provoque une vérification de bogue système. Pour plus d’informations, consultez la section Remarques suivante.
Remarques
La fonction DxgkDdiPatch doit affecter des adresses physiques à la mémoire tampon DMA en place. Par conséquent, lorsque le pilote miniport d’affichage génère la mémoire tampon DMA, le pilote doit s’assurer que l’espace est disponible dans la mémoire tampon DMA pour insérer des instructions requises pour gérer les adresses physiques. Notez que les adresses physiques peuvent correspondre à la mémoire vidéo, à la mémoire AGP/PCI Express ou à la mémoire système.
Le pilote doit examiner la liste d’emplacements des correctifs fournis dans la pPatchLocationList membre de la structure DXGKARG_PATCH pointée par le paramètre pPatch pour identifier les emplacements dans la mémoire tampon DMA qui doivent être corrigées avec des adresses physiques. La liste d’allocation fournie (spécifiée par le pAllocationList membre de DXGKARG_PATCH) contient également les adresses physiques générées par le gestionnaire de mémoire vidéo. L’appel à la fonction DxgkDdiPatch du pilote est la dernière chance que le pilote modifie le contenu de la mémoire tampon DMA avant que la mémoire tampon DMA soit soumise à l’unité de traitement graphique (GPU). Notez que le pilote peut corriger une mémoire tampon DMA plusieurs fois dans les scénarios où la mémoire tampon DMA est préemptée.
Le pilote peut corriger la valeur fournie dans le SubmissionFenceId membre de DXGKARG_PATCH dans la commande de clôture à la fin de la mémoire tampon DMA. Pour plus d’informations sur ce membre, consultez Identificateurs de clôture d’approvisionnement.
Si le pilote retourne un code d’erreur, le sous-système du noyau graphique Microsoft DirectX provoque une vérification de bogue système. Dans un fichier de vidage sur incident, l’erreur est notée par le message BugCheck 0x119, qui a les quatre paramètres suivants.
- 0x3
- Pointeur vers une structure de données du planificateur interne
- Pointeur vers une structure de données du planificateur interne
- Pointeur vers une structure de données du planificateur interne
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
plateforme cible | Bureau |
d’en-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |