Freigeben über


DXGKARGCB_MAP_PHYSICAL_MEMORY Struktur (d3dkmddi.h)

Die DXGKARGCB_MAP_PHYSICAL_MEMORY-Struktur enthält die Informationen, die von der DXGKCB_MAPPHYSICALMEMORY Rückruffunktion verwendet werden, um eine CPU-sichtbare virtuelle Adresse dem zugrunde liegenden physischen Speicher zuzuordnen.

Syntax

typedef struct _DXGKARGCB_MAP_PHYSICAL_MEMORY {
  [in]     HANDLE           hPhysicalMemoryObject;
  [in]     DXGK_ACCESS_MODE AccessMode;
  [in/out] SIZE_T           Offset;
  [in]     SIZE_T           Size;
  [out]    void             *pMappedAddress;
} DXGKARGCB_MAP_PHYSICAL_MEMORY;

Angehörige

[in] hPhysicalMemoryObject

Das physische Speicherobjekt, das die zugrunde liegenden physischen Seiten beschreibt, die zugeordnet werden sollen. Dieses Objekt wurde in einem vorherigen Aufruf von DXGKCB_CREATEPHYSICALMEMORYOBJECTerstellt.

[in] AccessMode

Ein DXGK_ACCESS_MODE Enumerationswert, der den Zugriffsmodus (Benutzermodus oder Kernelmodus) beschreibt, für den die Zuordnung erfolgen soll.

[in/out] Offset

Gibt als Eingabe den Offset vom Anfang des physischen Speicherobjekts in Byte an. Gibt als Ausgabe den Offset vom Anfang der zugeordneten Basisadresse an, wobei sich die angeforderten Daten in Bytes befinden. Weitere Informationen finden Sie in den Hinweisen.

[in] Size

Gibt als Eingabe die angeforderte Größe des zugeordneten Bereichs in Byte an. Gibt als Ausgabe die tatsächliche zugeordnete Größe in Byte an. Weitere Informationen finden Sie in den Hinweisen.

[out] pMappedAddress

Bei einem erfolgreichen Aufruf von DXGKCB_MAPPHYSICALMEMORYist dies ein Zeiger auf die zugrunde liegende physische Speicherzuordnung. Der Anfang des zugeordneten Speicherbereichs entspricht möglicherweise nicht exakt dem vom Treiber angeforderten Offset, wenn eine Rundung oder Ausrichtung erforderlich war. Daher bezieht sich der Ausgabewert Offset- auf den Offset von der Basisadresse auf die vom Treiber angeforderten Daten. Das heißt, ActualAddress = BaseAddress + Offset.

Bemerkungen

offset und Size sind sowohl Eingabe- als auch Ausgabeparameter. Als Eingabe beschreiben diese den Bereich des physischen Speichers, der vom Aufrufer angefordert wird. Bei der Ausgabe beschreiben diese die tatsächlich zugeordnete Ansicht. Dies liegt daran, dass die Adresse, die dem entsprechenden physischen Speicher zugeordnet ist, möglicherweise nicht genau an dem angeforderten Offset liegt. Die tatsächlich vom Aufrufer angeforderten Daten entsprechen pMappedAddress + Offset. Die Größe des zugeordneten virtuellen Adressbereichs entspricht dem Ausgabewert Size, der größer als die angeforderte Größe sein kann.

Weitere Informationen finden Sie unter IOMMU DMA-Neumapping.

Anforderungen

Anforderung Wert
mindestens unterstützte Server- Windows Server 2022 (WDDM 2.9)
Header- d3dkmddi.h

Siehe auch

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY