共用方式為


IConsoleNameSpace2::AddExtension 方法 (mmc.h)

IConsoleNameSpace2::AddExtension 方法可讓嵌入式管理單元新增擴充嵌入式管理單元,以動態擴充所選專案的命名空間。

語法

HRESULT AddExtension(
  [in] HSCOPEITEM hItem,
  [in] LPCLSID    lpClsid
);

參數

[in] hItem

要以 lpClsid 所指定嵌入式管理單元擴充之專案的句柄。

[in] lpClsid

嵌入式管理單元的 CLSID 指標,可擴充 hItem 所指定專案的命名空間。

傳回值

這個方法可以傳回下列其中一個值。

備註

當嵌入式管理單元呼叫 AddExtension 方法時,lpClsid 指定的命名空間延伸只會擴充 hItem 所指定專案的特定實例。 該類型的其他專案不會受到影響:呼叫 AddExtension 與使用嵌入式管理單元管理員將擴充功能新增至嵌入式管理單元不同。 藉由使用嵌入式管理單元管理員將擴充功能新增至嵌入式管理單元,此擴充功能會新增至該類型的所有嵌入式管理單元實例。

此外,AddExtension 方法只適用於進行 AddExtension 呼叫之嵌入式管理單元直接擁有的專案。 例如,如果嵌入式管理單元具有將專案新增至其命名空間的命名空間延伸模組,嵌入式管理單元就無法針對命名空間延伸模組所提供的專案呼叫 AddExtension,因為嵌入式管理單元沒有該專案。

新增動態命名空間延伸模組的常見位置是在嵌入式管理單元 IComponentData 物件的 MMCN_EXPAND 通知處理程式中。

注意 延伸模組嵌入式管理單元必須是命名空間延伸模組。 此外,必須正確設定要擴充嵌入式管理單元以及擴充嵌入式管理單元的 MMC 登錄專案。
 
若要動態新增其他類型的延伸模組 (,例如操作功能表、工具列、屬性表或任務板) ,嵌入式管理單元必須將新的剪貼簿格式CCF_MMC_DYNAMIC_EXTENSIONS新增至您想要擴充之專案的數據物件。 CCF_MMC_DYNAMIC_EXTENSIONS格式會使用SMMCDynamicExtensions結構。 如需詳細資訊,請參閱 動態非命名空間延伸模組

如果延伸模組嵌入式管理單元僅供動態延伸模組使用,則當嵌入式管理單元頁面的 [嵌入式管理單元] 中選取主要嵌入式管理單元時,該延伸模組嵌入式管理單元不應該列在 [可用的擴充功能] 清單框中。 若要在嵌入式管理單元管理員中隱藏擴充功能,請將密鑰 “Dynamic Extensions” 新增至索引鍵,代表您要擴充之專案的節點類型。 然後,將嵌入式管理單元的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

另請參閱

IConsoleNameSpace2