ホーム › UI.Accessibility › IWindowProvider
IWindowProvider
COMメソッド 9
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetVisualState(WindowVisualState state)
| state | WindowVisualState | in | ウィンドウに設定する表示状態(最大化・最小化・標準)を指定する WindowVisualState 値である。 |
vtbl 4 HRESULT Close()
| milliseconds | INT | in | ウィンドウが入力待機状態になるまで待つ最大時間をミリ秒で指定する。 |
| pRetVal | BOOL* | out | タイムアウト前にウィンドウが入力待機状態になった場合に TRUE を受け取る BOOL へのポインタである。 |
| pRetVal | BOOL* | out | ウィンドウを最大化できるかどうかを受け取る BOOL へのポインタである。 |
| pRetVal | BOOL* | out | ウィンドウを最小化できるかどうかを受け取る BOOL へのポインタである。 |
| pRetVal | BOOL* | out | ウィンドウがモーダルであるかどうかを受け取る BOOL へのポインタである。 |
vtbl 9 HRESULT get_WindowVisualState(WindowVisualState* pRetVal)
| pRetVal | WindowVisualState* | out | ウィンドウの現在の表示状態を示す WindowVisualState 値を受け取るポインタである。 |
vtbl 10 HRESULT get_WindowInteractionState(WindowInteractionState* pRetVal)
| pRetVal | WindowInteractionState* | out | ウィンドウが操作を受け付けられる状態かを示す WindowInteractionState 値を受け取るポインタである。 |
| pRetVal | BOOL* | out | ウィンドウが最前面(常に手前)であるかどうかを受け取る BOOL へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWindowProvider "{987DF77B-DB06-4D77-8F8A-86A9C3BB90B9}" #usecom global IWindowProvider IID_IWindowProvider "{}" #comfunc global IWindowProvider_SetVisualState 3 int #comfunc global IWindowProvider_Close 4 #comfunc global IWindowProvider_WaitForInputIdle 5 int,var #comfunc global IWindowProvider_get_CanMaximize 6 var #comfunc global IWindowProvider_get_CanMinimize 7 var #comfunc global IWindowProvider_get_IsModal 8 var #comfunc global IWindowProvider_get_WindowVisualState 9 var #comfunc global IWindowProvider_get_WindowInteractionState 10 var #comfunc global IWindowProvider_get_IsTopmost 11 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWindowProvider "{987DF77B-DB06-4D77-8F8A-86A9C3BB90B9}" #usecom global IWindowProvider IID_IWindowProvider "{}" #comfunc global IWindowProvider_SetVisualState 3 int #comfunc global IWindowProvider_Close 4 #comfunc global IWindowProvider_WaitForInputIdle 5 int,sptr #comfunc global IWindowProvider_get_CanMaximize 6 sptr #comfunc global IWindowProvider_get_CanMinimize 7 sptr #comfunc global IWindowProvider_get_IsModal 8 sptr #comfunc global IWindowProvider_get_WindowVisualState 9 sptr #comfunc global IWindowProvider_get_WindowInteractionState 10 sptr #comfunc global IWindowProvider_get_IsTopmost 11 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。