D3DDDI_ALLOCATIONINFO結構(d3dukmdt.h)
D3DDDI_ALLOCATIONINFO 結構描述 WDDM v1 的配置。 使用者模式圖形客戶端應該改用 D3DDDI_ALLOCATIONINFO2。
語法
typedef struct _D3DDDI_ALLOCATIONINFO {
D3DKMT_HANDLE hAllocation;
const VOID *pSystemMem;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
union {
struct {
UINT Primary : 1;
UINT Stereo : 1;
#if ...
UINT Reserved : 30;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
} Flags;
} D3DDDI_ALLOCATIONINFO;
成員
hAllocation
[out]D3DKMT_HANDLE,表示配置的核心模式句柄。 此句柄與 Direct3D 運行時間 pfnAllocateCb 函式在 hKMResource 成員 D3DDDICB_ALLOCATE 結構的成員中傳回的核心模式資源句柄相關聯。 使用者模式顯示驅動程式可以使用這個內核模式配置句柄來參考命令緩衝區中的配置。
pSystemMem
[in]Direct3D 執行時間預先配置之系統記憶體的指標。 否則,如果配置是使用視訊記憶體,則此成員為 NULL。
如果設定位於系統記憶體中,則使用者模式顯示驅動程式應該將資源 D3DDDI_SURFACEINFO 結構 pSysMem 成員中的緩衝區指派給 pSystemMem。 當 Direct3D 執行時間呼叫使用者模式顯示驅動程式的 CreateResource 函式來建立資源時,就會指定這個緩衝區。
pPrivateDriverData
[in/out,opt]緩衝區的指標,其中包含顯示迷你埠驅動程式建立配置時可能需要的選擇性私用數據。 顯示迷你埠驅動程式也可以傳回緩衝區中的數據。 當緩衝區的內容傳遞至顯示迷你埠驅動程式時,內容必須是顯示迷你埠驅動程式可以處理的格式。
PrivateDriverDataSize
[in]以位元組為單位的私用數據大小。
VidPnSourceId
[in]如果配置是用於主要介面,則影片簡報網路 (VidPN) 拓撲路徑中以零起始的 VidPN 識別符。 驅動程式應該只針對主要配置類型設定 VidPnSourceId,而不是針對任何其他類型的配置。 如果驅動程式在 呼叫 pfnAllocateCb 函式時,針對任何其他配置類型設定 VidPnSourceId,pfnAllocateCb 會傳回D3DDDI_ID_NOTAPPLICABLE。
當 DirectX 圖形核心子系統起始為共用主要介面的配置建立時,顯示迷你埠驅動程式可以從 VidPnSourceIdD3DKMDDI_SHAREDPRIMARYSURFACEDATA 結構的成員 pPrivateDriverDataDXGK_ALLOCATIONINFO 結構的成員來判斷標識符。
Flags
[in]聯集,包含結構或識別配置類型的32位值。
Flags.Primary
[in]UINT,指定配置是否為桌面的一部分。 CPU 可以隱含存取這類配置。 主要配置可以在建立時釘選,或在建立時無法釘選。
設定這個成員相當於設定 32 位 Value 成員的第一個位 (0x00000001)。
Flags.Stereo
[in]從 Windows 8 開始支援。 UINT,指定配置是否為立體聲主要配置。 只有在設定 主要 成員時,才能設定 立體聲 成員。
設定此成員相當於設定 32 位 Value 成員的第二個位 (0x00000002)。
Flags.Reserved
[in]這個成員是保留的,而且應該設定為零。
Flags.Value
[in]識別配置類型的32位值。
言論
當使用者模式顯示驅動程式在D3DDDI_ALLOCATIONINFO 旗標 成員中設定 主要 位字段旗標時,某些限制會套用 DXGK_ALLOCATIONINFO 至 pAllocationInfo 中DXGKARG_CREATEALLOCATION 結構的成員,以在呼叫顯示迷你埠驅動程式 DxgkDdiCreateAllocation 函式中配置。 這些限制包括下列各項:
配置會根據喜好設定來配置;否則,配置預設為支援的寫入區段集,而且寫入區段集中的所有指定區段都必須可存取 CPU。
顯示迷你連接埠驅動程式無法在 DXGK_ALLOCATIONINFO的 Flags 成員中設定下列位欄位字段旗標:
PermanentSysMem
緩存
保護
ExistingSysMem
ExistingKernelSysMem
D3DDDI_ID_NOTAPPLICABLE常數定義於 D3dukmdt.h中。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h) |