次の方法で共有


DXGKARGCB_ALLOCATECONTIGUOUSMEMORY構造体 (d3dkmddi.h)

DXGKARGCB_ALLOCATECONTIGUOUSMEMORY 構造体には、連続したメモリを割り当てるために DXGKCB_ALLOCATECONTIGUOUSMEMORY コールバック関数で使用される引数が含まれています。

構文

typedef struct _DXGKARGCB_ALLOCATECONTIGUOUSMEMORY {
  [in]  SIZE_T                   NumberOfBytes;
  [in]  PHYSICAL_ADDRESS         LowestAcceptableAddress;
  [in]  PHYSICAL_ADDRESS         HighestAcceptableAddress;
  [in]  PHYSICAL_ADDRESS         BoundaryAddressMultiple;
  [in]  DXGK_MEMORY_CACHING_TYPE CacheType;
  [out] HANDLE                   hMemoryHandle;
  [out] PVOID                    pMemory;
} DXGKARGCB_ALLOCATECONTIGUOUSMEMORY;

メンバーズ

[in] NumberOfBytes

割り当てる連続したメモリのブロックのサイズ (バイト単位)。

[in] LowestAcceptableAddress

呼び出し元が使用できる有効な最小の物理アドレス。 たとえば、デバイスがプロセッサの物理メモリ アドレス範囲の最初の 8 メガバイトを超える場所のみをアドレス指定できる場合、このデバイスのドライバーは LowestAcceptableAddress を0x0000000000800000に設定する必要があります。

[in] HighestAcceptableAddress

呼び出し元が使用できる最も有効な物理アドレス。 たとえば、デバイスがプロセッサの物理メモリ アドレス範囲の最初の 16 MB の場所のみをアドレス指定できる場合、このデバイスのドライバーは HighestAcceptableAddress を0x0000000000FFFFFFに設定する必要があります。

[in] BoundaryAddressMultiple

割り当てられたバッファーが交差してはならない物理アドレスの倍数。 複数の物理アドレスは、常に 2 の累乗である必要があります。 このパラメーターは省略可能であり、デバイスに特別なメモリ境界制限がないことを示す 0 として指定できます。

[in] CacheType

割り当てるページのキャッシュの種類を指定する DXGK_MEMORY_CACHING_TYPE 値。

[out] hMemoryHandle

割り当ての Dxgkrnl 追跡ハンドル。 この値は、対応する DGXKCB_FREECONTIGUOUSMEMORY コールバック関数に渡す必要があります。

[out] pMemory

ページ分割されていない物理メモリの連続したチャンクは、その有効期間にわたって IOMMU にマップされることを保証します。

備考

詳細については、IOMMU ベースの GPU 分離 を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 1803 (WDDM 2.4)
ヘッダー d3dkmddi.h

関連項目

DXGKCB_ALLOCATECONTIGUOUSMEMORY