DXGKDDI_CREATEMEMORYBASIS funzione di callback (d3dkmddi.h)

La funzione DxgkDdiCreateMemoryBasis di KMD crea un handle per una raccolta di intervalli di memoria che rappresentano l'allocazione gestita durante il rilevamento dei bit sporchi.

Sintassi

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

HANDLE DxgkddiCreatememorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}

Parametri

hAdapter

[in] Handle a un blocco di contesto associato a una scheda di visualizzazione. KmD in precedenza ha fornito questo handle a Dxgkrnl nel parametro di output MiniportDeviceContext della funzione DxgiDdiAddDevice .

pArgs

[in] Puntatore a una struttura DXGKARG_CREATEMEMORYBASIS che contiene informazioni per la creazione della base.

Valore restituito

DxgkDdiCreateMemoryBasis restituisce un handle al riferimento di KMD per tenere traccia della raccolta di intervalli. Il servizio di gestione delle chiavi deve essere in grado di trasformare queste informazioni nelle informazioni della base nei comandi successivi, ad esempio DxgkDdiDestroyMemoryBasis.

Commenti

Il rilevamento delle operazioni di modifica in VRAM è destinato alle allocazioni che potrebbero non essere supportate in modo contiguo. Pertanto, gli indirizzi fisici rappresentati nel rilevamento dei bit sporchi sono costituiti da una raccolta di intervalli che rappresentano l'allocazione gestita. DxgkDdiCreateMemoryBasis restituisce un handle al riferimento di KMD per tenere traccia di questi intervalli.

Il KMD può basarsi sulle invarianti seguenti:

  • Per ogni intervallo in Intervalli, segmentOffset e (SegmentOffset + SizeInBytes - 1) rappresentano indirizzi validi nel segmento a cui fa riferimento SegmentId.

  • Tutti gli intervalli sono disgiunti in modo associato; ovvero l'intersezione tra due intervalli è sempre Null.

È anche comune che SegmentOffset e SizeInBytes rispettino determinati allineamenti di pagina quando la base di memoria creata viene usata in determinate DDI di rilevamento sporco. Questi valori sono descritti nella pagina di riferimento di DDI e sono sempre un multiplo di DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl altrimenti non garantisce l'ordinamento degli indirizzi nella raccolta di Range o garanzie correlate.

Per altre informazioni, vedere Rilevamento bit sporco.

Requisiti

Requisito Valore
Client minimo supportato Windows 11 versione 24H2 (WDDM 3.2)
Intestazione d3dkmddi.h
IRQL PASSIVE_LEVEL

Vedi anche

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDestroyMemoryBasis