Win32 API 日本語リファレンス
ホームDevices.Display › IViewHelper

IViewHelper

COM
IIDe85ccef5-aaaa-47f0-b5e3-61f7aecdc4c1継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

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

vtbl 3 HRESULT GetConnectedIDs(LPWSTR wszAdaptorName, DWORD* pulCount, DWORD* pulID, DWORD ulFlags)
wszAdaptorNameLPWSTRin対象とするディスプレイアダプタ名。
pulCountDWORD*inout入力時は配列サイズ、出力時は接続ID数を受け渡す引数。pulIDがNULLなら必要数を返す。
pulIDDWORD*inout接続されているソース/ターゲットID配列を受け取る出力先。
ulFlagsDWORDin取得対象(ソースかターゲットか等)を指定するフラグ。
vtbl 4 HRESULT GetActiveTopology(LPWSTR wszAdaptorName, DWORD ulSourceID, DWORD* pulCount, DWORD* pulTargetID)
wszAdaptorNameLPWSTRin対象とするディスプレイアダプタ名。
ulSourceIDDWORDinアクティブトポロジを照会するソースID。
pulCountDWORD*inout入力時は配列サイズ、出力時はターゲット数を受け渡す引数。
pulTargetIDDWORD*inoutソースに対応するアクティブなターゲットID配列を受け取る出力先。
vtbl 5 HRESULT SetActiveTopology(LPWSTR wszAdaptorName, DWORD ulSourceID, DWORD ulCount, DWORD* pulTargetID)
wszAdaptorNameLPWSTRin対象とするディスプレイアダプタ名。
ulSourceIDDWORDinトポロジを設定するソースID。
ulCountDWORDinpulTargetIDが指すターゲットIDの個数。
pulTargetIDDWORD*inソースに割り当てるターゲットID配列。
vtbl 6 HRESULT Commit()
vtbl 7 HRESULT SetConfiguration(IStream* pIStream, DWORD* pulStatus)
pIStreamIStream*inディスプレイ構成データを保持するIStream。
pulStatusDWORD*out構成適用結果の状態コードを受け取る出力先。
vtbl 8 HRESULT GetProceedOnNewConfiguration()

HSP用 COM定義

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

出力引数:
#define global IID_IViewHelper "{E85CCEF5-AAAA-47F0-B5E3-61F7AECDC4C1}"
#usecom global IViewHelper IID_IViewHelper "{}"
#comfunc global IViewHelper_GetConnectedIDs               3 wstr,var,var,int
#comfunc global IViewHelper_GetActiveTopology             4 wstr,int,var,var
#comfunc global IViewHelper_SetActiveTopology             5 wstr,int,int,var
#comfunc global IViewHelper_Commit                        6
#comfunc global IViewHelper_SetConfiguration              7 sptr,var
#comfunc global IViewHelper_GetProceedOnNewConfiguration  8
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。