Win32 API 日本語リファレンス
ホームGraphics.Dxgi › IDXGIOutput

IDXGIOutput

COM
IIDae02eedb-c735-4690-8d52-5a8dc20213aa継承元IDXGIObject自前メソッド開始 vtbl7

メソッド 12

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 7 HRESULT GetDesc(DXGI_OUTPUT_DESC* pDesc)
pDescDXGI_OUTPUT_DESC*out出力(モニタ)の記述情報(デバイス名・座標・回転等)を受け取るDXGI_OUTPUT_DESC構造体である。
vtbl 8 HRESULT GetDisplayModeList(DXGI_FORMAT EnumFormat, DXGI_ENUM_MODES Flags, DWORD* pNumModes, DXGI_MODE_DESC* pDesc)
EnumFormatDXGI_FORMATin列挙対象のピクセルフォーマットをDXGI_FORMATで指定する。
FlagsDXGI_ENUM_MODESin列挙オプションを示すDXGI_ENUM_MODESフラグ(インターレース等の含有)を指定する。
pNumModesDWORD*inoutモード数の入出力に使うDWORDへのポインタである。pDescがNULLなら必要数を返す。
pDescDXGI_MODE_DESC*outoptionalディスプレイモードの配列を受け取るDXGI_MODE_DESC配列である。NULL可で件数取得に使う。
vtbl 9 HRESULT FindClosestMatchingMode(DXGI_MODE_DESC* pModeToMatch, DXGI_MODE_DESC* pClosestMatch, IUnknown* pConcernedDevice)
pModeToMatchDXGI_MODE_DESC*in希望するディスプレイモードを指定するDXGI_MODE_DESC構造体である。
pClosestMatchDXGI_MODE_DESC*out最も近い実現可能モードを受け取るDXGI_MODE_DESC構造体である。
pConcernedDeviceIUnknown*inoptional対象デバイス(IUnknown)を指定する。NULL可で一般的な照合となる。
vtbl 10 HRESULT WaitForVBlank()
vtbl 11 HRESULT TakeOwnership(IUnknown* pDevice, BOOL Exclusive)
pDeviceIUnknown*in出力の所有権を取得するデバイス(IUnknown)を指定する。
ExclusiveBOOLin排他所有とするか指定する。TRUEで排他所有となる。
vtbl 12 void ReleaseOwnership()
vtbl 13 HRESULT GetGammaControlCapabilities(DXGI_GAMMA_CONTROL_CAPABILITIES* pGammaCaps)
pGammaCapsDXGI_GAMMA_CONTROL_CAPABILITIES*outガンマ制御の能力情報を受け取るDXGI_GAMMA_CONTROL_CAPABILITIES構造体である。
vtbl 14 HRESULT SetGammaControl(DXGI_GAMMA_CONTROL* pArray)
pArrayDXGI_GAMMA_CONTROL*in設定するガンマ曲線・スケール・オフセットを保持するDXGI_GAMMA_CONTROL構造体である。
vtbl 15 HRESULT GetGammaControl(DXGI_GAMMA_CONTROL* pArray)
pArrayDXGI_GAMMA_CONTROL*out現在のガンマ設定を受け取るDXGI_GAMMA_CONTROL構造体である。
vtbl 16 HRESULT SetDisplaySurface(IDXGISurface* pScanoutSurface)
pScanoutSurfaceIDXGISurface*in画面に直接表示(スキャンアウト)するサーフェスIDXGISurfaceを指定する。
vtbl 17 HRESULT GetDisplaySurfaceData(IDXGISurface* pDestination)
pDestinationIDXGISurface*in現在の表示内容をコピーして受け取る先のIDXGISurfaceを指定する。
vtbl 18 HRESULT GetFrameStatistics(DXGI_FRAME_STATISTICS* pStats)
pStatsDXGI_FRAME_STATISTICS*out表示・同期に関する統計情報を受け取るDXGI_FRAME_STATISTICS構造体である。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDXGIOutput "{AE02EEDB-C735-4690-8D52-5A8DC20213AA}"
#usecom global IDXGIOutput IID_IDXGIOutput "{}"
#comfunc global IDXGIOutput_GetDesc                      7 var
#comfunc global IDXGIOutput_GetDisplayModeList           8 int,int,var,var
#comfunc global IDXGIOutput_FindClosestMatchingMode      9 var,var,sptr
#comfunc global IDXGIOutput_WaitForVBlank                10
#comfunc global IDXGIOutput_TakeOwnership                11 sptr,int
#comfunc global IDXGIOutput_ReleaseOwnership             12
#comfunc global IDXGIOutput_GetGammaControlCapabilities  13 var
#comfunc global IDXGIOutput_SetGammaControl              14 var
#comfunc global IDXGIOutput_GetGammaControl              15 var
#comfunc global IDXGIOutput_SetDisplaySurface            16 sptr
#comfunc global IDXGIOutput_GetDisplaySurfaceData        17 sptr
#comfunc global IDXGIOutput_GetFrameStatistics           18 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。