次の方法で共有


DXGKCB_ALLOCATECONTIGUOUSMEMORY コールバック関数 (d3dkmddi.h)

DXGKCB_ALLOCATECONTIGUOUSMEMORY は、IOMMU の論理アドレス空間に連続するメモリ領域を割り当てます。

構文

DXGKCB_ALLOCATECONTIGUOUSMEMORY DxgkcbAllocatecontiguousmemory;

NTSTATUS DxgkcbAllocatecontiguousmemory(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] INOUT_PDXGKARGCB_ALLOCATECONTIGUOUSMEMORY pAllocateContiguousMemory
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターへのハンドル。

[in/out] pAllocateContiguousMemory

連続したメモリを割り当てるための引数を含む DXGKARGCB_ALLOCATECONTIGUOUSMEMORY 構造体へのポインター。

戻り値

操作が成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードを返します。

注釈

このコールバック関数は、 DxgkrnlMmAllocateContiguousMemory 関数と 同等です

DXGKCB_XXX 関数は Dxgkrnl によって実装されます。 このコールバック関数を使用するには、DXGKARGCB_ALLOCATECONTIGUOUSMEMORYの適切なメンバー設定し、DXGKRNL_INTERFACEを介して DxgkCbAllocateContiguousMemory を呼び出します。

ページング操作中に GPU によってアクセスされるメモリ、または GpuMmu 経由でマップされるすべてのメモリを IOMMU にマップする必要があります。 Dxgkrnl は KMD へのコールバックを提供し、1 つの手順で割り当てと再マップを許可します。

注意

ドライバーはメモリをロックしないでください。 Dxgkrnl はドライバーのロックされたページを管理し、メモリが再マップされると、ドライバーに提供されるページの論理アドレスが物理アドレスと一致しなくなる可能性があります。

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

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1803 (WDDM 2.4)
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARGCB_ALLOCATECONTIGUOUSMEMORY

DXGKCB_FREECONTIGUOUSMEMORY

DXGKRNL_INTERFACE