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

IDXGIOutput1

COM
IID00cddea8-939b-4b83-a340-a685226666cc継承元IDXGIOutput自前メソッド開始 vtbl19

メソッド 4

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

vtbl 19 HRESULT GetDisplayModeList1(DXGI_FORMAT EnumFormat, DXGI_ENUM_MODES Flags, DWORD* pNumModes, DXGI_MODE_DESC1* pDesc)
EnumFormatDXGI_FORMATin列挙対象のピクセルフォーマットをDXGI_FORMATで指定する。
FlagsDXGI_ENUM_MODESin列挙オプションを示すDXGI_ENUM_MODESフラグを指定する。
pNumModesDWORD*inoutモード数の入出力に使うDWORDポインタである。pDescがNULLなら必要数を返す。
pDescDXGI_MODE_DESC1*outoptionalディスプレイモードの配列を受け取るDXGI_MODE_DESC1配列である。NULL可で件数取得に使う。
vtbl 20 HRESULT FindClosestMatchingMode1(DXGI_MODE_DESC1* pModeToMatch, DXGI_MODE_DESC1* pClosestMatch, IUnknown* pConcernedDevice)
pModeToMatchDXGI_MODE_DESC1*in希望するディスプレイモードを指定するDXGI_MODE_DESC1構造体である。
pClosestMatchDXGI_MODE_DESC1*out最も近い実現可能モードを受け取るDXGI_MODE_DESC1構造体である。
pConcernedDeviceIUnknown*inoptional対象デバイス(IUnknown)を指定する。NULL可。
vtbl 21 HRESULT GetDisplaySurfaceData1(IDXGIResource* pDestination)
pDestinationIDXGIResource*in現在の表示内容をコピーして受け取る先のIDXGIResourceを指定する。
vtbl 22 HRESULT DuplicateOutput(IUnknown* pDevice, IDXGIOutputDuplication** ppOutputDuplication)
pDeviceIUnknown*inデスクトップ複製を行うデバイス(IUnknown)を指定する。
ppOutputDuplicationIDXGIOutputDuplication**out作成された出力複製IDXGIOutputDuplicationを受け取る出力先である。

HSP用 COM定義

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

出力引数:
#define global IID_IDXGIOutput1 "{00CDDEA8-939B-4B83-A340-A685226666CC}"
#usecom global IDXGIOutput1 IID_IDXGIOutput1 "{}"
#comfunc global IDXGIOutput1_GetDisplayModeList1       19 int,int,var,var
#comfunc global IDXGIOutput1_FindClosestMatchingMode1  20 var,var,sptr
#comfunc global IDXGIOutput1_GetDisplaySurfaceData1    21 sptr
#comfunc global IDXGIOutput1_DuplicateOutput           22 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。