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

IDockingWindowFrame

COM
IID47d2657a-7b27-11d0-8ca9-00a0c92dbfe8継承元IOleWindow自前メソッド開始 vtbl5

公式ドキュメント

IDockingWindow オブジェクトをフレームに追加する機能をサポートするメソッドを公開します。ブラウザーによって実装されます。

解説(Remarks)

IDockingWindowFrameIOleWindow から派生しています。この継承を通じて IDockingWindowFrame でも利用できる以下のメソッドの詳細については、次のトピックを参照してください。

追加の IDockingWindowFrame メソッド
IOleWindow::GetWindow
IOleWindow::ContextSensitiveHelp

実装するタイミング

通常、IDockingWindowFrame インターフェイスを実装することはありません。シェルブラウザーがこのインターフェイスを実装し、ブラウザーフレーム内でのドッキングウィンドウをサポートします。

使用するタイミング

ブラウザーフレーム内のドッキングウィンドウオブジェクトの追加、検索、削除を行うために IDockingWindowFrame を使用します。

メソッド 3

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

vtbl 5 HRESULT AddToolbar(IUnknown* punkSrc, LPWSTR pwszItem, DWORD dwAddFlags)

指定された IDockingWindow オブジェクトをフレームに追加します。

punkSrcIUnknown*in追加する IDockingWindow オブジェクトへのポインター。
pwszItemLPWSTRinドッキングウィンドウオブジェクトを識別するために使用される、null で終わる Unicode のアプリケーション定義文字列へのポインター。
dwAddFlagsDWORDin

追加されるドッキングウィンドウオブジェクトに適用されるフラグ。次の値のうち 1 つ以上を指定します。

0

ドッキングウィンドウは通常の可視ドッキングウィンドウです。

DWFAF_HIDDEN (0x0001)

ドッキングウィンドウは追加されますが、表示されません。後で表示するには、その IDockingWindow::ShowDW メソッドを呼び出します。

DWFAF_GROUP1 (0x0002)

予約済み。使用しないでください。

DWFAF_GROUP2 (0x0004)

予約済み。使用しないでください。

DWFAF_AUTOHIDE (0x0010)

予約済み。使用しないでください。

戻り値

型: HRESULT

このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 6 HRESULT RemoveToolbar(IUnknown* punkSrc, DWORD dwRemoveFlags)

指定された IDockingWindow をツールバーフレームから削除します。

punkSrcIUnknown*in削除する IDockingWindow オブジェクトへのポインター。IDockingWindowFrame の実装は、IDockingWindow::CloseDW および IDockingWindow::Release メソッドを呼び出します。
dwRemoveFlagsDWORDin

ドッキングウィンドウオブジェクトを削除するためのオプションフラグ。このパラメーターには、次の値のうち 1 つ以上を指定できます。

DWFRF_NORMAL (0x0000)

既定の削除処理が実行されます。

DWFRF_DELETECONFIGDATA (0x0001)

ツールバーの削除に加えて、構成データもすべて削除されます。

戻り値

型: HRESULT

このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

vtbl 7 HRESULT FindToolbar(LPWSTR pwszItem, GUID* riid, void** ppv)

指定された IDockingWindow オブジェクトをツールバーフレーム内で検索し、そのインターフェイスポインターを返します。

pwszItemLPWSTRinオブジェクトを識別するために使用される、null で終わる Unicode のアプリケーション定義文字列へのポインター。これは AddToolbar メソッドに渡された文字列と同じものです。
riidGUID*in目的のインターフェイス ID への参照。通常は IID_IDockingWindow です。
ppvvoid**outこのメソッドが返るとき、riid で要求されたインターフェイスポインターが格納されます。通常は IDockingWindow です。エラーが発生した場合、この値は null ポインターを受け取ります。

戻り値

型: HRESULT

このメソッドが成功すると S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

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