次の方法で共有


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 アクセス可能なベース アドレス ポインター。 ドライバーは、コピー操作の宛先アドレスを取得するベース アドレスに出力 オフセット 値を追加する必要があります (pDestinationAddress = pBaseAddress + Offset)。

注釈

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

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

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

要件

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

こちらもご覧ください

DXGKCB_MAPFRAMEBUFFERPOINTER