Win32 API 日本語リファレンス
ホームMedia.DirectShow › IFullScreenVideo

IFullScreenVideo

COM
IIDdd1d7110-7836-11cf-bf47-00aa0055595a継承元IUnknown自前メソッド開始 vtbl3

メソッド 17

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

vtbl 3 HRESULT CountModes(INT* pModes)
pModesINT*out利用可能な全画面表示モードの総数をINT*で受け取る出力。
vtbl 4 HRESULT GetModeInfo(INT Mode, INT* pWidth, INT* pHeight, INT* pDepth)
ModeINTin情報を取得する0起点のモードインデックス入力。
pWidthINT*outそのモードの幅(ピクセル)をINT*で受け取る出力。
pHeightINT*outそのモードの高さ(ピクセル)をINT*で受け取る出力。
pDepthINT*outそのモードの色深度(ビット)をINT*で受け取る出力。
vtbl 5 HRESULT GetCurrentMode(INT* pMode)
pModeINT*out現在の全画面モードインデックスをINT*で受け取る出力。
vtbl 6 HRESULT IsModeAvailable(INT Mode)
ModeINTin利用可能か判定する対象モードインデックス入力。S_OK/S_FALSEで返す。
vtbl 7 HRESULT IsModeEnabled(INT Mode)
ModeINTin有効状態を判定する対象モードインデックス入力。S_OK/S_FALSEで返す。
vtbl 8 HRESULT SetEnabled(INT Mode, INT bEnabled)
ModeINTin有効/無効を設定する対象モードインデックス入力。
bEnabledINTinそのモードを有効にするか否かを指定するINT(BOOL相当)入力。
vtbl 9 HRESULT GetClipFactor(INT* pClipFactor)
pClipFactorINT*out現在のクリップ係数をINT*で受け取る出力。
vtbl 10 HRESULT SetClipFactor(INT ClipFactor)
ClipFactorINTin設定するクリップ係数をINTで指定する入力。
vtbl 11 HRESULT SetMessageDrain(HWND hwnd)
hwndHWNDinウィンドウメッセージの転送先ウィンドウハンドル入力。NULLで解除。
vtbl 12 HRESULT GetMessageDrain(HWND* hwnd)
hwndHWND*out現在のメッセージ転送先ウィンドウハンドルをHWND*で受け取る出力。
vtbl 13 HRESULT SetMonitor(INT Monitor)
MonitorINTin全画面表示に使用するモニタのインデックス入力。
vtbl 14 HRESULT GetMonitor(INT* Monitor)
MonitorINT*out現在の全画面表示モニタインデックスをINT*で受け取る出力。
vtbl 15 HRESULT HideOnDeactivate(INT Hide)
HideINTin非アクティブ時に全画面表示を隠すか否かを指定するINT(BOOL相当)入力。
vtbl 16 HRESULT IsHideOnDeactivate()
vtbl 17 HRESULT SetCaption(LPWSTR strCaption)
strCaptionLPWSTRin全画面ウィンドウに設定するキャプション文字列のLPWSTR入力。
vtbl 18 HRESULT GetCaption(LPWSTR* pstrCaption)
pstrCaptionLPWSTR*out現在のキャプション文字列をLPWSTR*で受け取る出力。解放が必要。
vtbl 19 HRESULT SetDefault()

HSP用 COM定義

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

出力引数:
#define global IID_IFullScreenVideo "{DD1D7110-7836-11CF-BF47-00AA0055595A}"
#usecom global IFullScreenVideo IID_IFullScreenVideo "{}"
#comfunc global IFullScreenVideo_CountModes          3 var
#comfunc global IFullScreenVideo_GetModeInfo         4 int,var,var,var
#comfunc global IFullScreenVideo_GetCurrentMode      5 var
#comfunc global IFullScreenVideo_IsModeAvailable     6 int
#comfunc global IFullScreenVideo_IsModeEnabled       7 int
#comfunc global IFullScreenVideo_SetEnabled          8 int,int
#comfunc global IFullScreenVideo_GetClipFactor       9 var
#comfunc global IFullScreenVideo_SetClipFactor       10 int
#comfunc global IFullScreenVideo_SetMessageDrain     11 sptr
#comfunc global IFullScreenVideo_GetMessageDrain     12 sptr
#comfunc global IFullScreenVideo_SetMonitor          13 int
#comfunc global IFullScreenVideo_GetMonitor          14 var
#comfunc global IFullScreenVideo_HideOnDeactivate    15 int
#comfunc global IFullScreenVideo_IsHideOnDeactivate  16
#comfunc global IFullScreenVideo_SetCaption          17 wstr
#comfunc global IFullScreenVideo_GetCaption          18 var
#comfunc global IFullScreenVideo_SetDefault          19
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。