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 緩衝區中的任何位置。 設定此成員相當於 (0x00000001) 設定 32 位值的第一個位。

[in/out] SegmentId

指定配置上次在 中分頁的區段標識碼。 將此成員設定為 0 表示沒有可用的預先修補資訊。 設定此成員相當於設定 32 位值的第二到第六位 (0x0000002E) 。

[in] Reserved

保留的。 這個成員應該設定為 0。 設定此成員相當於將32位值的剩餘26位 (0xFFFFFFC0) 設為零。

[in/out] PhysicalAddress

PHYSICAL_ADDRESS數據類型 (定義為LARGE_INTEGER) ,指出 SegmentId 指定之區段內的實體位址,其中配置是在上一個分頁位置。 如果沒有可用的預先修補資訊,這個成員會設定為零。

從Windows 10 開始支援。

[in/out] VirtualAddress

D3DGPU_VIRTUAL_ADDRESS數據類型 (,定義為表示虛擬位址的 ULONGLONG) 。

從Windows 10 開始支援。

備註

在顯示迷你埠驅動程式的 DxgkDdiRender 函式中,驅動程式會針對將用於直接記憶體存取 (DMA) 緩衝區的配置規格產生 DXGK_ALLOCATIONLIST 結構清單。 視訊記憶體管理員會使用清單適當地分割和修補 DMA 緩衝區。

規格需求

需求
最低支援的用戶端 Windows Vista
標頭 d3dkmddi.h (包含 D3dkmddi.h)

另請參閱

DXGKARG_CREATEALLOCATION

DXGK_ALLOCATIONINFO

DXGK_OPENALLOCATIONINFO

DxgkDdiCreateAllocation

DxgkDdiOpenAllocation

DxgkDdiRender