Win32 API 日本語リファレンス
ホームSystem.Mmc › IConsoleNameSpace

IConsoleNameSpace

COM
IIDbedeb620-f24d-11cf-8afc-00aa003ca9f6継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

スナップインがスコープペイン内の動的なサブコンテナーを列挙できるようにします。何をサブコンテナーと見なすかは、個々のスナップインによって決まります。

メソッド 7

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

vtbl 3 HRESULT InsertItem(SCOPEDATAITEM* item)

IConsoleNameSpace2::InsertItem メソッドを使用すると、スナップインはスコープビューに単一の項目を挿入できます。

itemSCOPEDATAITEM*inout新しいスコープ項目の属性を指定する SCOPEDATAITEM 構造体へのポインター。呼び出しから戻ると、構造体の ID メンバーには、新しく挿入された項目に対して MMC が割り当てた項目識別子が格納されます。この値は挿入された項目の HSCOPEITEM ハンドルであることに注意してください。スナップインは、後で IConsoleNameSpace2::GetItem などのメソッドを呼び出して挿入された項目を操作するために、この値を保存しておく必要があります。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

vtbl 4 HRESULT DeleteItem(INT_PTR hItem, INT fDeleteThis)

IConsoleNameSpace2::DeleteItem メソッドを使用すると、スナップインはスコープペインから単一の項目を削除できます。

hItemINT_PTRin子項目をスコープペインから削除する対象となる項目へのハンドル。IConsoleNameSpace2::DeleteItem の第 2 引数が TRUE に設定されている場合、その項目自体も削除されます。
fDeleteThisINTinTRUE の場合、hItem で指定された項目も削除されます。それ以外の場合は削除されません。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

vtbl 5 HRESULT SetItem(SCOPEDATAITEM* item)

IConsoleNameSpace2::SetItem メソッドを使用すると、スナップインは単一のスコープビュー項目の属性を設定できます。

itemSCOPEDATAITEM*inスコープペインで設定する項目に関する 情報を含む SCOPEDATAITEM 構造体へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

vtbl 6 HRESULT GetItem(SCOPEDATAITEM* item)

IConsoleNameSpace2::GetItem メソッドを使用すると、スナップインは単一のスコープ項目の属性の一部またはすべてを取得できます。

itemSCOPEDATAITEM*inout

取得する情報を指定し、項目に関する情報を受け取る SCOPEDATAITEM 構造体へのポインター。メッセージが送信されると、構造体の ID メンバーが項目を識別し、mask メンバーが取得する属性を指定します。

mask が SDI_STATE 値を指定している場合、nState メンバーには項目の状態情報が格納されます。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

vtbl 7 HRESULT GetChildItem(INT_PTR item, INT_PTR* pItemChild, INT_PTR* pCookie)

IConsoleNameSpace2::GetChildItem メソッドを使用すると、スナップインはスコープペイン内の子項目のハンドルを取得できます。

itemINT_PTRinスコープペイン内の親項目へのハンドル。
pItemChildINT_PTR*out返されたスコープペイン内の子項目を識別するハンドルへのポインター。
pCookieINT_PTR*out返された子項目に関連付けられた cookie へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

解説(Remarks)

子項目のハンドルが取得できない場合は、NULL が返されます。

vtbl 8 HRESULT GetNextItem(INT_PTR item, INT_PTR* pItemNext, INT_PTR* pCookie)

IConsoleNameSpace2::GetNextItem メソッドを使用すると、スナップインはスコープビュー内の次の項目のハンドルを取得できます。

itemINT_PTRinスコープペイン内の項目へのハンドル。
pItemNextINT_PTR*out返されたスコープペイン内の次の項目へのハンドルへのポインター。
pCookieINT_PTR*out返された次の項目の cookie へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

解説(Remarks)

指定した項目の次に項目が存在しない場合は、NULL が返されます。

vtbl 9 HRESULT GetParentItem(INT_PTR item, INT_PTR* pItemParent, INT_PTR* pCookie)

IConsoleNameSpace2::GetParentItem メソッドを使用すると、スナップインはスコープビュー内の親項目のハンドルを取得できます。

itemINT_PTRinスコープペイン内の項目へのハンドル。
pItemParentINT_PTR*out返される親項目へのハンドルへのポインター。
pCookieINT_PTR*out返される親項目に関連付けられた cookie へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

解説(Remarks)

指定した項目に親が存在しない場合は、NULL が返されます。

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