다음을 통해 공유


첨부 파일 스냅인 확장 노드 추가

사용자가 해당 노드를 확장할 때 첨부 파일 스냅인 확장은 서비스 노드 아래에 자신을 추가해야 합니다.

사용자가 보안 구성 스냅인 중 하나에서 서비스 노드를 확장하면 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.
//  ...