DXGK_ALLOCATIONLIST構造体 (d3dkmddi.h)
DXGK_ALLOCATIONLIST構造体は、ダイレクト メモリ アクセス (DMA) バッファリングで使用される割り当て仕様を記述します。
構文
typedef struct _DXGK_ALLOCATIONLIST
{
HANDLE hDeviceSpecificAllocation;
struct
{
UINT WriteOperation : 1; // 0x00000001
UINT SegmentId : 5; // 0x0000002E
UINT Reserved : 26; // 0xFFFFFFC0
};
#if (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
union
{
PHYSICAL_ADDRESS PhysicalAddress;
D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
};
#else // (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WDDM2_0)
PHYSICAL_ADDRESS PhysicalAddress;
#endif // (DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WDDM2_0)
} DXGK_ALLOCATIONLIST;
メンバー
[in/out] hDeviceSpecificAllocation
参照されている割り当てに対するオープン ハンドル (つまり、ドライバーの DxgkDdiOpenAllocation 関数の呼び出しで割り当てのDXGK_OPENALLOCATIONINFO構造体の hDeviceSpecificAllocation メンバーでドライバーが返したハンドル)。
[in/out] WriteOperation
割り当てを書き込むことができるかどうかを識別します。 このメンバーを 1 に設定すると、割り当てを DMA バッファー内の任意の場所に書き込むことができます。 このメンバーの設定は、32 ビット値 (0x00000001) の最初のビットを設定することと同じです。
[in/out] SegmentId
割り当てが最後にページングされたセグメントの識別子を指定します。 このメンバーを 0 に設定すると、プレパッチ情報が使用できなくなります。 このメンバーの設定は、32 ビット値 (0x0000002E) の 2 番目から 6 番目のビットを設定することと同じです。
[in] Reserved
予約済み。 このメンバーは 0 に設定する必要があります。 このメンバーの設定は、32 ビット値の残りの 26 ビット (0xFFFFFFC0) をゼロに設定することと同じです。
[in/out] PhysicalAddress
SegmentId が指定するセグメント内の物理アドレスを示すPHYSICAL_ADDRESSデータ型 (LARGE_INTEGERとして定義されます)。ここで、割り当ては最後にページングされました。 このメンバーは、パッチ適用前の情報が使用できない場合は 0 に設定されます。
Windows 10 以降でサポートされています。
[in/out] VirtualAddress
仮想アドレスを示す D3DGPU_VIRTUAL_ADDRESS データ型 ( ULONGLONG として定義されます)。
Windows 10 以降でサポートされています。
注釈
ディスプレイ ミニポート ドライバーの DxgkDdiRender 関数では、ドライバーは、直接メモリ アクセス (DMA) バッファーで使用される割り当て仕様の DXGK_ALLOCATIONLIST 構造体の一覧を生成します。 ビデオ メモリ マネージャーは、一覧を使用して DMA バッファーを適切に分割および修正します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
Header | d3dkmddi.h (D3dkmddi.h を含む) |