共用方式為


D3DKMT_CREATEALLOCATION 結構 (d3dkmthk.h)

D3DKMT_CREATEALLOCATION 結構描述建立配置的參數。

語法

typedef struct _D3DKMT_CREATEALLOCATION {
  [in]     D3DKMT_HANDLE                hDevice;
  [in/out] D3DKMT_HANDLE                hResource;
  [out]    D3DKMT_HANDLE                hGlobalShare;
  void                         D3DKMT_PTR(
    const VOID          *unnamedParam1,
    pPrivateRuntimeData unnamedParam2
  );
  [in]     UINT                         PrivateRuntimeDataSize;
  union {
    [in]     D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
    [in]     const VOID                      *pPrivateDriverData;
  };
  [in/out] UINT                         PrivateDriverDataSize;
  [in]     UINT                         NumAllocations;
  union {
    [in]     D3DDDI_ALLOCATIONINFO  *pAllocationInfo;
    [in]     D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
  };
  [in]     D3DKMT_CREATEALLOCATIONFLAGS Flags;
  void                         D3DKMT_PTR(
    HANDLE                        unnamedParam1,
    hPrivateRuntimeResourceHandle unnamedParam2
  );
} D3DKMT_CREATEALLOCATION;

成員

[in] hDevice

與資源或配置相關聯的裝置句柄。

[in/out] hResource

D3DKMT_HANDLE數據類型,表示與配置相關聯的資源的核心模式句柄。 除非將配置新增至現有的資源,否則 hResource 中的值應該一律為零,在此情況下 ,hResource 會包含資源句柄。

CreateResource 位字段旗標在 Flags 成員中設定時,OpenGL 運行時間會產生唯一句柄,並將它傳回驅動程式。 在 D3DKMTCreateAllocation 函式的輸出上, hResource 會指定驅動程式在後續 OpenGL 運行時間呼叫中應該使用的句柄來識別資源。 傳回的資源句柄是裝置專屬的,而且只有在與建立裝置搭配使用時才有效。

[out] hGlobalShare

使用者模式客戶端驅動程式不應該使用全域句柄共享資源。 驅動程式應該在 Flags 中設定 NtSecuritySharing,並呼叫 D3DKMTShareObjects 以取得 NT 句柄。 使用全域句柄並不安全。 任何進程都可以猜測全域句柄並開啟共享物件。 只有舊版 D3D 運行時間的相容性原因才支援全域句柄。 (未設定 NtSecuritySharing 時,全域句柄會在 hGlobalShare 中傳回。沒有任何動作可防止 UMD 使用全域句柄共用資源,但驅動程式不應該這麼做。)

void D3DKMT_PTR( const VOID *unnamedParam1, pPrivateRuntimeData unnamedParam2)

[in] PrivateRuntimeDataSize

pPrivateRuntimeData 指向的私人數據大小,以位元組為單位。

[in] pStandardAllocation

描述要建立之標準配置 之D3DKMT_CREATESTANDARDALLOCATION 結構的指標。

[in] pPrivateDriverData

緩衝區的指標,其中包含顯示迷你埠驅動程式可能需要建立資源或配置的選擇性私人數據。 緩衝區的內容通常來自 ICD,而且必須是顯示迷你埠驅動程式可以處理的格式。

[in/out] PrivateDriverDataSize

pPrivateDriverData 指向之私人數據的大小,以位元組為單位。

[in] NumAllocations

pAllocationInfo 所指定的陣列中元素數目,代表要建立的配置數目。 請注意,建立資源時,一開始沒有任何與其相關聯的配置是有效的;因此, NumAllocations 可以設定為 0。

[in] pAllocationInfo

D3DDDI_ALLOCATIONINFO 結構的陣列,描述要建立之每個配置的特定屬性。

[in] pAllocationInfo2

這個成員是保留的,而且應該設定為零。

此成員從 Windows 7 開始可供使用。

[in] Flags

識別在位欄位旗標中建立配置之屬性 的D3DKMT_CREATEALLOCATIONFLAGS 結構。

如果您在 Flags 中設定 CreateShared 位欄位旗標,您也必須設定 CreateResource 位字段旗標。

void D3DKMT_PTR( HANDLE unnamedParam1, hPrivateRuntimeResourceHandle unnamedParam2)

規格需求

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

另請參閱

D3DDDI_ALLOCATIONINFO

D3DKMTCreateAllocation

D3DKMT_CREATEALLOCATIONFLAGS