DXGKDDI_CREATEMEMORYBASIS fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiCreateMemoryBasis de KMD crée un handle pour une collection de plages de mémoire qui représentent l’allocation en cours d’exécution pendant sale suivi des bits.
Syntaxe
DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;
HANDLE DxgkddiCreatememorybasis(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}
Paramètres
hAdapter
[in] Handle d’un bloc de contexte associé à un adaptateur d’affichage. KMD a précédemment fourni ce handle à Dxgkrnl dans le paramètre de sortie MiniportDeviceContext de la fonction DxgiDdiAddDevice .
pArgs
[in] Pointeur vers une structure DXGKARG_CREATEMEMORYBASIS qui contient des informations sur la base en cours de création.
Valeur retournée
DxgkDdiCreateMemoryBasis retourne un HANDLE à la référence de KMD pour le suivi de la collection de plages. KMD doit être en mesure de transformer ces informations en informations de base dans les commandes suivantes, telles que DxgkDdiDestroyMemoryBasis.
Remarques
Le suivi des opérations de modification sur VRAM est destiné aux allocations qui peuvent ne pas être sauvegardées de façon contiguë. Ainsi, les adresses physiques représentées dans le suivi de sale bits se composent d’une collection de plages représentant l’allocation en cours d’exécution. DxgkDdiCreateMemoryBasis retourne un handle à la référence de KMD pour le suivi de ces plages.
Le KMD peut s’appuyer sur les invariants suivants :
Pour chaque plage de plages, SegmentOffset et (SegmentOffset + SizeInBytes - 1) représentent des adresses valides sur le segment référencé par SegmentId.
Toutes les plages sont disjointes par paire ; autrement dit, l’intersection entre deux plages est toujours null.
Il est également courant que SegmentOffset et SizeInBytes respectent certains alignements de page lorsque la base de mémoire créée est utilisée dans certains sale suivi des DDIs. Ces valeurs sont décrites dans la page de référence de ces DDI et sont toujours un multiple de DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS ::P ageSize.
Dans le cas contraire, Dxgkrnl ne garantit pas l’ordre des adresses dans la collection de plages ou d’assurances associées.
Pour plus d’informations, consultez Suivi des bits sales.
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 |