Freigeben über


DXGKDDI_CREATEMEMORYBASIS Rückruffunktion (d3dkmddi.h)

Die DxgkDdiCreateMemoryBasis-Funktion von KMD erstellt ein Handle für eine Sammlung von Speicherbereichen, die die Zuordnung darstellen, die während modifiziert Bitnachverfolgung betrieben wird.

Syntax

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

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

Parameter

hAdapter

[in] Ein Handle für einen Kontextblock, der einem Grafikkarte zugeordnet ist. KMD hat dieses Handle zuvor dxgkrnl im MiniportDeviceContext-Ausgabeparameter der DxgiDdiAddDevice-Funktion bereitgestellt.

pArgs

[in] Ein Zeiger auf eine DXGKARG_CREATEMEMORYBASIS Struktur, die Informationen für die zu erstellende Basis enthält.

Rückgabewert

DxgkDdiCreateMemoryBasis gibt einen HANDLE an den KMD-Verweis zurück, um die Auflistung von Bereichen zu verfolgen. KMD sollte in der Lage sein, diese Informationen in die Informationen der Basis in nachfolgenden Befehlen wie DxgkDdiDestroyMemoryBasis zu transformieren.

Hinweise

Die Nachverfolgung von Änderungsvorgängen auf VRAM erfolgt für Zuordnungen, die möglicherweise nicht zusammenhängend gesichert werden. Die physischen Adressen, die bei der Nachverfolgung von modifiziert Bits dargestellt werden, bestehen also aus einer Sammlung von Bereichen, die die zu betreibende Zuordnung darstellen. DxgkDdiCreateMemoryBasis gibt ein Handle für den KMD-Verweis zum Nachverfolgen dieser Bereiche zurück.

Die KMD kann sich auf die folgenden Invarianten verlassen:

  • Für jeden Bereich in Ranges stellen sowohl SegmentOffset als auch (SegmentOffset + SizeInBytes - 1) gültige Adressen für das Segment dar, auf das von SegmentId verwiesen wird.

  • Alle Bereiche sind paarweise unzusammenigen; Das heißt, die Schnittmenge zwischen zwei beliebigen Bereichen ist immer NULL.

Es ist auch üblich, dass SegmentOffset und SizeInBytes bestimmte Seitenausrichtung berücksichtigen, wenn die erstellte Speicherbasis in bestimmten modifiziert Nachverfolgungs-DDIs verwendet wird. Diese Werte werden auf der Referenzseite dieser DDI beschrieben und sind immer ein Vielfaches von DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl gibt andernfalls keine Garantien für die Bestellung der Adressen in der Sammlung von Bereichen oder verwandten Zusicherungen.

Weitere Informationen finden Sie unter Dirty Bit Tracking.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2 (WDDM 3.2)
Kopfzeile d3dkmddi.h
IRQL PASSIVE_LEVEL

Weitere Informationen

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDestroyMemoryBasis