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) |