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

IBandSite

COM
IID4cf504b0-de96-11d0-8b3f-00a0c911e8e5継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

バンドオブジェクトを制御するメソッドを公開します。

解説(Remarks)

IBandSite は、IDeskBand などのバンドオブジェクトをホストするために使用されます。

メソッド 8

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

vtbl 3 HRESULT AddBand(IUnknown* punk)

バンドサイトオブジェクトにバンドを追加します。

punkIUnknown*inバンドサイトオブジェクトのインターフェイス。

戻り値

型: HRESULT

ShortFromResult(hresult) でバンド ID を返します。

vtbl 4 HRESULT EnumBands(DWORD uBand, DWORD* pdwBandID)

バンドサイト内のバンドを列挙します。

uBandDWORDin列挙を開始するには、このパラメーターを 0 にしてメソッドを呼び出します。このパラメーターが -1 の場合、 pdwBandID パラメーターは無視され、このメソッドはバンドサイト内のバンド数を返します。
pdwBandIDDWORD*outバンド ID を受け取るバンド ID 変数のアドレス。

戻り値

型: HRESULT

成功した場合は S_OK を、エラーの場合は COM で定義されたエラーコードを返します。 最初のパラメーターが -1 の場合は、バンドサイト内のバンド数が 返されます。

vtbl 5 HRESULT QueryBand(DWORD dwBandID, IDeskBand** ppstb, DWORD* pdwState, LPWSTR pszName, INT cchName)

バンドサイト内のバンドに関する情報を取得します。

dwBandIDDWORDinクエリするバンドオブジェクトの ID。
ppstbIDeskBand**outoptionalこのメソッドが正常に返された際に、バンドを表す IDeskBand オブジェクトを指す IDeskBand インターフェイスポインターのアドレス。この値は NULL にできます。
pdwStateDWORD*outoptionalこのメソッドが正常に返された際に、バンドオブジェクトの状態を受け取る DWORD 値へのポインター。この状態は BSSF_VISIBLEBSSF_NOTITLE、および BSSF_UNDELETEABLE の組み合わせです。これらのフラグの詳細については、BANDSITEINFO を参照してください。状態情報が不要な場合、この値は NULL にできます。
pszNameLPWSTRoutoptionalこのメソッドが正常に返された際に、バンドオブジェクトの名前を受け取る cchName 個の Unicode 文字のバッファーへのポインター。
cchNameINTinpszName バッファーのサイズ(文字数)。

戻り値

型: HRESULT

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

vtbl 6 HRESULT SetBandState(DWORD dwBandID, DWORD dwMask, DWORD dwState)

バンドサイト内のバンドの状態を設定します。

dwBandIDDWORDin設定するバンドの ID。このパラメーターが -1 の場合は、 バンドサイト内のすべてのバンドの状態を設定します。
dwMaskDWORDin設定する状態のマスク。
dwStateDWORDin設定する状態の値。これらは BSSF_* フラグの組み合わせです。詳細については、BANDSITEINFO を参照してください。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合は COM で定義されたエラーコードを返します。

vtbl 7 HRESULT RemoveBand(DWORD dwBandID)

バンドサイトからバンドを削除します。

dwBandIDDWORDin削除するバンドの ID。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合は COM で定義されたエラーコードを返します。

vtbl 8 HRESULT GetBandObject(DWORD dwBandID, GUID* riid, void** ppv)

バンドサイトから指定されたバンドオブジェクトを取得します。

dwBandIDDWORDin取得するバンドオブジェクトの ID。
riidGUID*in取得するオブジェクトの IID。
ppvvoid**out要求されたオブジェクトへのポインターを受け取る ポインター変数のアドレス。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合は COM で定義されたエラーコードを返します。

vtbl 9 HRESULT SetBandSiteInfo(BANDSITEINFO* pbsinfo)

バンドサイトに関する情報を設定します。

pbsinfoBANDSITEINFO*inオブジェクトのバンドサイト情報を受け取る BANDSITEINFO 構造体のアドレス。この構造体の dwMask メンバーが、 どの情報を設定するかを指定します。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合は COM で定義されたエラーコードを返します。

vtbl 10 HRESULT GetBandSiteInfo(BANDSITEINFO* pbsinfo)

バンドサイト内のバンドに関する情報を取得します。

pbsinfoBANDSITEINFO*inoutオブジェクトのバンドサイト情報を格納する BANDSITEINFO 構造体のアドレス。この構造体の dwMask メンバーが、 どの情報を要求するかを指定します。

戻り値

型: HRESULT

成功した場合は S_OK を、それ以外の場合は COM で定義されたエラーコードを返します。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IBandSite "{4CF504B0-DE96-11D0-8B3F-00A0C911E8E5}"
#usecom global IBandSite IID_IBandSite "{}"
#comfunc global IBandSite_AddBand          3 sptr
#comfunc global IBandSite_EnumBands        4 int,var
#comfunc global IBandSite_QueryBand        5 int,sptr,var,var,int
#comfunc global IBandSite_SetBandState     6 int,int,int
#comfunc global IBandSite_RemoveBand       7 int
#comfunc global IBandSite_GetBandObject    8 int,var,sptr
#comfunc global IBandSite_SetBandSiteInfo  9 var
#comfunc global IBandSite_GetBandSiteInfo  10 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。