Share via


IDirect3D9::CheckDeviceFormatConversion 方法 (d3d9.h)

測試裝置,以查看它是否支援從一個顯示格式轉換成另一種顯示格式。

語法

HRESULT CheckDeviceFormatConversion(
  [in] UINT       Adapter,
  [in] D3DDEVTYPE DeviceType,
  [in] D3DFORMAT  SourceFormat,
  [in] D3DFORMAT  TargetFormat
);

參數

[in] Adapter

類型: UINT

顯示配接器序數位。 D3DADAPTER_DEFAULT一律是主要顯示適配卡。 當這個值等於或超過系統中的顯示適配卡數目時,這個方法會傳回D3DERR_INVALIDCALL。

[in] DeviceType

類型: D3DDEVTYPE

裝置類型。 D3DDEVTYPE列舉型別的成員。

[in] SourceFormat

類型: D3DFORMAT

來源配接器格式。 D3DFORMAT列舉型別的成員。

[in] TargetFormat

類型: D3DFORMAT

目標配接器格式。 D3DFORMAT列舉型別的成員。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值會D3DERR_INVALIDCALL。 當硬體不支援兩種格式之間的轉換時,此方法會傳回D3DERR_NOTAVAILABLE。

備註

使用 CheckDeviceType 來測試與顯示格式不同的後端緩衝區之間的相容性,將會傳回適當的值。 這表示呼叫會反映裝置功能。 如果裝置無法轉譯為所要求的後端緩衝區格式,呼叫仍會傳回D3DERR_NOTAVAILABLE。 如果裝置可以轉譯為格式,但無法執行色彩轉換簡報,則傳回值也會D3DERR_NOTAVAILABLE。 應用程式可以藉由呼叫 CheckDeviceFormatConversion 來探索簡報本身的硬體支援。 不會提供色彩轉換簡報本身的軟體模擬。

CheckDeviceFormatConversion 也可以用來判斷呼叫 StretchRect 時允許來源介面格式和目的地介面格式的組合。

色彩轉換僅限於下列來源和目標格式。

  • 來源格式必須是FOURCC格式或有效的後台緩衝區格式。 如需這些清單,請參閱 FourCC Formats 和 BackBuffer 或 Display Formats。
  • 目標格式必須是下列其中一個未帶正負號的格式:
    D3DFMT_X1R5G5B5 D3DFMT_A1R5G5B5 D3DFMT_R5G6B5
    D3DFMT_R8G8B8 D3DFMT_X8R8G8B8 D3DFMT_A8R8G8B8
    D3DFMT_A2R10G10B10 D3DFMT_A16B16G16R16 D3DFMT_A2B10G10R10
    D3DFMT_A8B8G8R8 D3DFMT_X8B8G8R8 D3DFMT_A16B16G16R16F
    D3DFMT_A32B32G32R32F
     

規格需求

需求
目標平台 Windows
標頭 d3d9.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

ColorFill

IDirect3D9