次の方法で共有


DXGKARGCB_MAPFRAMEBUFFERPOINTER構造体 (d3dkmddi.h)

DXGKARGCB_MAPFRAMEBUFFERPOINTER 構造体には、フレーム バッファー ポインターをマップするために DXGKCB_MAPFRAMEBUFFERPOINTER コールバック関数によって使用される引数が含まれています。

構文

typedef struct _DXGKARGCB_MAPFRAMEBUFFERPOINTER {
  [in]     UINT   PhysicalAdapterIndex;
  [in]     SIZE_T Size;
  [in/out] SIZE_T Offset;
  [out]    PVOID  pBaseAddress;
} DXGKARGCB_MAPFRAMEBUFFERPOINTER;

メンバーズ

[in] PhysicalAdapterIndex

物理アダプターのインデックス。

[in] Size

セクション オブジェクトのマップされたサブ領域のサイズ (バイト単位)。 サイズ は、PAGE_SIZEの倍数である必要があります。

[in/out] Offset

入力時に、これは、セクション オブジェクトのマップされたサブ領域へのオフセット (バイト単位) です。 オフセットは、PAGE_SIZEの倍数である必要があります。 出力時に、ドライバーがデータをコピーする必要がある出力ベース アドレスからのオフセットです。

[out] pBaseAddress

セクション オブジェクトのマップされたサブ領域への CPU アクセス可能なベース アドレス ポインター。 ドライバーは、出力 Offset 値をベース アドレスに追加して、コピー操作の宛先アドレスを取得する必要があります (pDestinationAddress = pBaseAddress + Offset)。

備考

フレーム バッファーのセクション オブジェクト全体をピン留めできない場合、ドライバーは、小さな部分で転送を実行して前方の進行状況を確認する必要があります。 これは、初期化時にハードウェアからコンテンツを転送するために使用できる小さな MDL またはメモリのチャンクを割り当て、DXGKCB_MAPFRAMEBUFFERPOINTER を呼び出してセクション オブジェクトのサブ領域へのポインターを取得することによって実現されます。

ドライバーは、事前に割り当てられたバッファーからマップされたサブ領域にデータをコピーする役割を担います。 逆は、フレーム バッファーの内容を復元する場合にも当てはまります。

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

必要条件

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

関連項目

DXGKCB_MAPFRAMEBUFFERPOINTER