IConsoleNameSpace2::AddExtension メソッド (mmc.h)
IConsoleNameSpace2::AddExtension メソッドを使用すると、スナップインは、選択した項目の名前空間を動的に拡張する拡張スナップインを追加できます。
構文
HRESULT AddExtension(
[in] HSCOPEITEM hItem,
[in] LPCLSID lpClsid
);
パラメーター
[in] hItem
lpClsid で指定されたスナップインで拡張する項目へのハンドル。
[in] lpClsid
hItem で指定された項目の名前空間を拡張するスナップインの CLSID へのポインター。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
注釈
スナップインが AddExtension メソッドを呼び出すと、lpClsid で指定された名前空間拡張機能は、hItem で指定された項目の特定のインスタンスのみを拡張します。 その種類のその他の項目は影響を受けません。AddExtension の呼び出しは、スナップイン マネージャーを使用してスナップインに拡張機能を追加するのと同じではありません。 スナップイン マネージャーを使用してスナップインに拡張機能を追加すると、その種類のスナップインのすべてのインスタンスに拡張機能が追加されます。
さらに、AddExtension メソッドは、AddExtension 呼び出しを行うスナップインによって直接所有されているアイテムに対してのみ機能します。 たとえば、スナップインに名前空間に項目を追加する名前空間拡張機能がある場合、スナップインはそのアイテムを所有していないため、名前空間拡張機能によって提供されるアイテムに対して AddExtension を呼び出すことはできません。
動的名前空間拡張を追加する一般的な場所は、スナップインの IComponentData オブジェクトの MMCN_EXPAND 通知ハンドラーにあります。
拡張機能スナップインが動的拡張機能としてのみ使用されることを意図している場合は、スナップイン マネージャーの拡張機能ページの [拡張可能] ボックスでプライマリ スナップインが選択されている場合、その拡張機能スナップインを [使用可能な拡張機能] リスト ボックスに表示しないでください。 スナップイン マネージャーで拡張機能を非表示にするには、拡張する項目のノードの種類を表すキーにキー "動的拡張" を追加します。 次に、ノードの種類のみを動的に拡張する必要があるスナップインの CLSID を新しいキーの値として配置します。
例
次のコード例では、 CLSID_Extension で指定された拡張機能スナップインを追加します。
IConsoleNameSpace2* pExtensions = NULL;
HRESULT hr = m_pConsole->QueryInterface(IID_IConsoleNameSpace2, reinterpret_cast<void**>(&pExtensions));
if (SUCCEEDED(hr))
{
hr = pExtensions->AddExtension(m_pStaticRoot, const_cast<CLSID*>(&CLSID_Extension));
ASSERT(hr == S_OK);
pExtensions->Release();
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | mmc.h |
[DLL] | Mmcndmgr.dll |