IDirect3D9Ex::CreateDeviceEx 方法 (d3d9.h)

建立代表顯示介面卡的裝置。

語法

HRESULT CreateDeviceEx(
  [in]          UINT                  Adapter,
  [in]          D3DDEVTYPE            DeviceType,
  [in]          HWND                  hFocusWindow,
  [in]          DWORD                 BehaviorFlags,
  [in, out]     D3DPRESENT_PARAMETERS *pPresentationParameters,
  [in, out]     D3DDISPLAYMODEEX      *pFullscreenDisplayMode,
  [out, retval] IDirect3DDevice9Ex    **ppReturnedDeviceInterface
);

參數

[in] Adapter

類型: UINT

代表顯示配接器的序數位。 D3DADAPTER_DEFAULT 一律是主要顯示介面卡。

[in] DeviceType

類型: D3DDEVTYPE

指定裝置的類型。 請參閱 D3DDEVTYPE。 如果所需的裝置類型無法使用,方法將會失敗。

[in] hFocusWindow

類型: HWND

當應用程式從前景模式切換到背景模式時,焦點視窗會警示 Direct3D。 針對全螢幕模式,指定的視窗必須是最上層視窗。 若為視窗模式 ,只有當 pPresentationParameters 的 hDeviceWindow 成員設定為有效的非 Null 值時,此參數才可為Null

[in] BehaviorFlags

類型: DWORD

一或多個選項的組合 (請參閱控制裝置建立的 D3DCREATE) 。

[in, out] pPresentationParameters

類型: D3DPRESENT_PARAMETERS*

D3DPRESENT_PARAMETERS結構的指標,描述要建立之裝置的簡報參數。 如果 BehaviorFlags 指定 D3DCREATE_ADAPTERGROUP_DEVICE,則此參數為數組。 不論存在的頭部數目為何,系統都會自動建立一個深度/樣板表面。

此參數同時是輸入和輸出參數。 呼叫此方法可能會變更數個成員,包括:

  • 如果呼叫 方法之前,BackBufferCount、BackBufferWidth 和 BackBufferHeight 為 0,則方法傳回時將會變更它們。
  • 如果在呼叫 方法之前,BackBufferFormat 等於 D3DFMT_UNKNOWN ,當方法傳回時,將會變更它。

[in, out] pFullscreenDisplayMode

類型: D3DDISPLAYMODEEX*

當裝置設定為全螢幕時的顯示模式。 請參閱 D3DDISPLAYMODEEX。 如果 BehaviorFlags 指定 D3DCREATE_ADAPTERGROUP_DEVICE,則此參數為數組。 此參數必須是視窗模式的 Null

[out, retval] ppReturnedDeviceInterface

類型: IDirect3DDevice9Ex**

所傳回 之 IDirect3DDevice9Ex指標的位址,代表已建立的裝置。

傳回值

類型: HRESULT

當轉譯裝置與交換鏈緩衝區成功建立時,這個方法會傳回S_OK。 當遇到無效呼叫端輸入以外的任何錯誤時,就會傳回D3DERR_DEVICELOST。

需求

   
目標平台 Windows
標頭 d3d9.h
程式庫 D3D9.lib

另請參閱

IDirect3D9Ex