Win32 API 日本語リファレンス
ホームUI.Shell › IDeskBarClient

IDeskBarClient

COM
IIDeb0fe175-1a3a-11d0-89b3-00a0c90a90ac継承元IOleWindow自前メソッド開始 vtbl5

メソッド 4

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

vtbl 5 HRESULT SetDeskBarSite(IUnknown* punkSite)
punkSiteIUnknown*inoptionalデスクバーのサイトオブジェクトの IUnknown インターフェイスへのポインタである。切断時は NULL を指定する。
vtbl 6 HRESULT SetModeDBC(DWORD dwMode)
dwModeDWORDinデスクバークライアントの表示モード(垂直・水平など)を指定する。
vtbl 7 HRESULT UIActivateDBC(DWORD dwState)
dwStateDWORDinUI のアクティブ化状態(アクティブ化・非アクティブ化)を指定する。
vtbl 8 HRESULT GetSize(DWORD dwWhich, RECT* prc)
dwWhichDWORDin取得するサイズの種類(理想サイズ・最大サイズなど)を指定する。
prcRECT*out取得したサイズを受け取る RECT 構造体へのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDeskBarClient "{EB0FE175-1A3A-11D0-89B3-00A0C90A90AC}"
#usecom global IDeskBarClient IID_IDeskBarClient "{}"
#comfunc global IDeskBarClient_SetDeskBarSite  5 sptr
#comfunc global IDeskBarClient_SetModeDBC      6 int
#comfunc global IDeskBarClient_UIActivateDBC   7 int
#comfunc global IDeskBarClient_GetSize         8 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。