D3DDDICB_ALLOCATE 結構 (d3dumddi.h)
D3DDDICB_ALLOCATE 結構包含配置記憶體的資訊。
語法
typedef struct _D3DDDICB_ALLOCATE {
[in] const VOID *pPrivateDriverData;
[in] UINT PrivateDriverDataSize;
[in] HANDLE hResource;
[out] D3DKMT_HANDLE hKMResource;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
} D3DDDICB_ALLOCATE;
成員
[in] pPrivateDriverData
私用資料的指標,會傳遞至顯示迷你埠驅動程式。 此資料是每個資源,而不是每個配置。 如果配置附加至現有的資源,則目前的資料應該覆寫先前的資料。
[in] PrivateDriverDataSize
pPrivateDriverData所指向之私用資料的大小,以位元組為單位。
[in] hResource
與配置相關聯的資源控制碼。
當使用者模式顯示驅動程式呼叫pfnAllocateCb函式時,驅動程式應該在呼叫CreateResource中指派從D3DDDIARG_CREATERESOURCE結構的hResource成員收到的值,或在呼叫CreateResource (D3D10) 或CreateResource (D3D11 ) 中指派hRTResource參數。 它應該指派值以將配置與資源產生關聯,或指派 Null 以將配置與裝置產生關聯。 驅動程式必須針對為了回應共用資源而建立的配置指派非Null 值。 共用資源可能是由 CreateResource 呼叫所產生,而 SharedResource 位欄位旗標設定于 D3DDDIARG_CREATERESOURCE 的 Flags 成員中。 它們也可能因為CreateResource (D3D10) 或CreateResource (D3D11) 呼叫而產生,並在D3D10DDIARG_CREATERESOURCE 或D3D11DDIARG_CREATERESOURCE的 MiscFlags成員中設定D3D10_DDI_RESOURCE_MISC_SHARED值。
Microsoft Direct3D 執行時間應該在驅動程式呼叫中使用此控制碼來識別資源。
[out] hKMResource
D3DKMT_HANDLE資料類型,表示與配置相關聯之資源的核心模式控制碼。
只有在使用者模式顯示驅動程式將D3DDDICB_ALLOCATE的 hResource成員設定為從D3DDDIARG_CREATERESOURCE結構的hResource成員收到的使用者模式執行時間資源控制碼時,Direct3D 執行時間才會建立並傳回核心模式資源控制碼。 這個控制碼是在呼叫CreateResource中收到,或是從呼叫 CreateResource (D3D10) 或CreateResource (D3D11) 呼叫中的 hResource參數接收。
Direct3D 執行時間會產生唯一的控制碼,並將它傳回使用者模式顯示驅動程式。 使用者模式顯示驅動程式可以在命令資料流程中插入核心模式資源控制碼,以供顯示迷你埠驅動程式後續使用。
[in] NumAllocations
pAllocationInfo陣列中的元素數目,代表要配置的配置數目。
[in] pAllocationInfo
描述要配置之配置的 D3DDDI_ALLOCATIONINFO 結構的陣列。
[in]描述要配置之配置的 D3DDDI_ALLOCATIONINFO 結構的陣列。
[in] pAllocationInfo2
這個成員是保留的,而且應該設定為零。
此成員從 Windows 7 開始可供使用。
規格需求
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 | d3dumddi.h (包含 D3dumddi.h) |