次の方法で共有


DXGKARG_ACQUIRESWIZZLINGRANGE 構造体 (d3dkmddi.h)

DXGKARG_ACQUIRESWIZZLINGRANGE構造体では、CPU アパーチャを介して割り当てをアクセスできるようにするためのパラメーターについて説明します。

構文

typedef struct _DXGKARG_ACQUIRESWIZZLINGRANGE {
  [in]     HANDLE           hAllocation;
  [in]     UINT             PrivateDriverData;
  [in]     UINT             RangeId;
  [in]     UINT             SegmentId;
  [in]     SIZE_T           RangeSize;
  [in/out] PHYSICAL_ADDRESS CPUTranslatedAddress;
} DXGKARG_ACQUIRESWIZZLINGRANGE;

メンバー

[in] hAllocation

ディスプレイ ミニポート ドライバーが割り当て、 DxgkDdiCreateAllocation 関数を介して返される割り当てのハンドル。

[in] PrivateDriverData

ユーザー モード ディスプレイ ドライバーが Microsoft Direct3D ランタイムの pfnLockCb 関数を呼び出すときに送信するプライベート データの UINT 値。 プライベート データは、ディスプレイ ミニポート ドライバーが割り当てのアクセス可能な部分 (MIP レベルなど) を決定できるようにするインデックスである必要があります。 このメンバーにはポインターを含めてはいけません。

[in] RangeId

DxgkDdiAcquireSwizzlingRange 関数プログラムの範囲の 0 から始まる識別子。

[in] SegmentId

割り当てが現在ページングされているセグメントの識別子。

[in] RangeSize

取得する範囲のサイズ (バイト単位)。 この範囲サイズは、 DxgkDdiAcquireSwizzlingRange が範囲を取得する割り当てのサイズと同じです。 ドライバーは、useAlternateVA ビット フィールド フラグが pfnLockCb 関数の呼び出しでD3DDDICB_LOCKFLAGS構造体の Flags メンバーで指定されている場合、RangeSize の値を変更できます。 UseAlternateVA フラグが指定されていない場合、ドライバーは RangeSize を変更できません。

[in/out] CPUTranslatedAddress

CPU が割り当てをマップする必要がある基本物理アドレス。 ディスプレイ ミニポート ドライバーは、 DxgkDdiAcquireSwizzlingRange 関数の呼び出しが成功したときに、この情報を設定する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista
Header d3dkmddi.h (D3dkmddi.h を含む)

こちらもご覧ください

D3DDDICB_LOCKFLAGS

DxgkDdiAcquireSwizzlingRange

DxgkDdiCreateAllocation

pfnLockCb