共用方式為


新增附件嵌入式管理單元延伸模組節點

當使用者展開該節點時,附件嵌入式管理單元擴充功能必須在 [服務] 節點下新增本身。

當使用者在其中一個安全性設定嵌入式管理單元下展開 [服務] 節點時,MMC 會使用 IComponentData::Notify 和MMCN_EXPAND通知訊息來通知安全性設定嵌入式管理單元,以及其所有擴充功能。

然後,安全性設定嵌入式管理單元會從 lpDataObject擷取其內部格式,此格式會從 MMC 主要架構中傳遞為類型 LPDATAOBJECT。 當看到 [服務] 節點類型時,它會停止處理。 附件嵌入式管理單元延伸模組接著會從 lpDataObject擷取節點類型。 如果節點類型是其中一個服務的已定義節點類型,附件嵌入式管理單元延伸模組會在指定的父節點下插入其根節點。

請注意,在此範例中,ExtractNodeType 是擴充功能所實作的私人函式。 延伸模組會檢查資料物件以取得節點類型。 未顯示 ExtractNodeType 的實作。

//  Detect which extension node to expand.
GUID* nodeType = ExtractNodeType(lpdataObject);

if (NULL == nodeType)
{
  return S_OK;
}

if (TRUE == ::IsEqualGUID(*nodeType, cNodetypeSceTemplateServices))
{
  folderType = ATTACHMENT_STATIC;  // defined by attachment writer
}

else if (TRUE == ::IsEqualGUID
    (*nodeType, cNodetypeSceAnalysisServices))
{
  folderType = ATTACHMENT_STATIC_ANALYSIS;
               // defined by attachment writer
}

//  Free resources.
::GlobalFree(reinterpret_cast<HANDLE>(nodeType));

//  Add service attachment root node and remember it as the
//  root of the SMB extension namespace.
//  ...