次の方法で共有


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 を含む)

こちらもご覧ください

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender