次の方法で共有


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)
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL

関連項目

DXGKARGCB_ALLOCATE_ADL

DXGKCB_FREEADL

DXGKRNL_INTERFACE