次の方法で共有


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

DXGKCB_ALLOCATEADL アドレス記述子リスト (ADL) を作成します。

構文

DXGKCB_ALLOCATEADL DxgkcbAllocateadl;

NTSTATUS DxgkcbAllocateadl(
  [in/out] IN_OUT_PDXGKARGCB_ALLOCATE_ADL pArgs
)
{...}

パラメーター

[in/out] pArgs

作成 する ADL に関する情報を含むDXGKARGCB_ALLOCATE_ADL構造体へのポインター。 成功した場合、 は、ハードウェアのプログラミングに使用できるページ アドレスの一覧を含む DXGK_ADL 構造体を返します。

戻り値

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

注釈

DXGKCB_ALLOCATEADL関数とDXGKCB_FREEADL関数は、GPU にプログラミング (マップ) できるメモリ アドレスを記述する ACL を作成および破棄するために使用されます。 基になるメモリは、IOMMU が使用されているかどうかに応じて論理メモリまたは物理メモリを指す可能性があるため、ドライバーは、これらのアドレスが物理ページを表していると想定しないようにする必要があります。

物理オブジェクトから ADL が割り当てられると、 Dxgkrnl は、このメモリがロックされたままであり、ADL の有効期間中はページング不可能であることを保証します。

詳細については、「 IOMMU DMA の再マップ 」を参照してください。

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

要件

要件
サポートされている最小のサーバー Windows Server 2022 (WDDM 2.9)
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE