다음을 통해 공유


표시 지정자에 상황에 맞는 메뉴 COM 개체 등록

COM을 사용하여 Active Directory 디렉터리 서비스에 대한 상황에 맞는 메뉴 확장 DLL을 만드는 경우 확장을 Windows 레지스트리에 등록하고 Active Directory Domain Services Active Directory 관리 MMC 스냅인 및 확장의 Windows 셸에 알립니다.

Windows 레지스트리에 등록

모든 COM 서버와 마찬가지로 레지스트리에 상황에 맞는 메뉴 확장을 등록해야 합니다. 확장은 다음 키 아래에 등록됩니다.

HKEY_CLASSES_ROOT
   CLSID
      <clsid>

<clsid>StringFromCLSID 함수에서 생성된 CLSID의 문자열 표현입니다. <clsid> 키 아래에는 개체를 32비트 in-proc 서버로 식별하는 InProcServer32 키가 있습니다. InProcServer32 키에서 DLL의 위치는 기본값으로 지정되고 스레딩 모델은 ThreadingModel 값에 지정됩니다. 모든 상황에 맞는 메뉴 확장은 "아파트" 스레딩 모델을 사용해야 합니다.

Active Directory Domain Services 등록

상황에 맞는 메뉴 확장 등록은 하나의 로캘에만 적용됩니다. 상황에 맞는 메뉴 확장이 모든 로캘에 적용되는 경우 Display Specifiers 컨테이너의 모든 로캘 하위 구성 요소에 있는 object 클래스 displaySpecifier 개체에 등록해야 합니다. 상황에 맞는 메뉴 확장이 특정 로캘에 대해 지역화된 경우 해당 로캘의 하위 구성 요소에 있는 displaySpecifier 개체에 등록해야 합니다. 표시 지정자 컨테이너 및 로캘에 대한 자세한 내용은 표시 지정자DisplaySpecifiers 컨테이너를 참조하세요.

상황에 맞는 메뉴 확장 항목을 등록할 수 있는 두 가지 표시 지정자 특성이 있습니다. adminContextMenushellContextMenu입니다.

adminContextMenu 특성은 Active Directory 관리 스냅인에 표시할 관리 상황에 맞는 메뉴를 식별합니다. 사용자가 Active Directory 관리 MMC 스냅인 중 하나에서 적절한 클래스의 개체에 대한 상황에 맞는 메뉴를 표시하면 상황에 맞는 메뉴가 나타납니다.

shellContextMenu 특성은 Windows 셸에 표시할 최종 사용자 상황에 맞는 메뉴를 식별합니다. 사용자가 Windows Explorer 적절한 클래스의 개체에 대한 상황에 맞는 메뉴를 볼 때 상황에 맞는 메뉴가 나타납니다. Windows Server 2003부터 Windows 셸은 더 이상 Active Directory Domain Services 개체를 표시하지 않습니다.

이러한 모든 특성은 다중 값입니다.

상황에 맞는 메뉴 확장을 등록할 때 adminContextMenushellContextMenu 특성의 값에는 다음 형식이 필요합니다.

<order number>,<clsid>

"<주문 번호>"는 상황에 맞는 메뉴의 항목 위치를 나타내는 부호 없는 숫자입니다. 상황에 맞는 메뉴가 표시되면 각 값의 "<주문 번호>"를 비교하여 값이 정렬됩니다. 둘 이상의 값에 동일한 "<주문 번호>"가 있는 경우 해당 상황에 맞는 메뉴 확장은 Active Directory 서버에서 읽은 순서대로 로드됩니다. 가능하면 속성의 다른 값에서 사용되지 않은 기존 "<주문 번호>"를 사용합니다. 정해진 시작 위치가 없으며 "<주문 번호>" 시퀀스에서 간격이 허용됩니다.

"<clsid>"는 StringFromCLSID 함수에서 생성된 CLSID의 문자열 표현입니다.

Windows 셸에서 다중 선택 상황에 맞는 메뉴 항목이 지원됩니다. 이 경우 선택한 각 개체에 대해 상황에 맞는 메뉴 확장이 호출됩니다. Active Directory 관리 스냅인에서는 다중 선택 상황에 맞는 메뉴 확장 항목도 지원됩니다. 이 경우 DSOBJECTNAMES 구조체에는 선택한 각 디렉터리 개체에 대한 DSOBJECT 구조체가 포함됩니다.

중요

Windows 셸의 경우 표시 지정자 정보는 사용자 로그온 시 검색되고 사용자 세션에 대해 캐시됩니다. 관리 스냅인의 경우 스냅인이 로드되고 프로세스 기간 동안 캐시될 때 표시 지정자 데이터가 검색됩니다. Windows 셸의 경우 사용자가 로그오프한 후 다시 로그온한 후 표시 지정자에 대한 변경 내용이 적용됩니다. 관리 스냅인의 경우 스냅인 또는 콘솔 파일이 다시 로드될 때 변경 내용이 적용됩니다. 즉, 콘솔 파일의 새 instance 시작하거나 새 Mmc.exe instance 스냅인을 추가하면 최신 표시 지정자 데이터가 검색됩니다.

 

자세한 내용과 상황에 맞는 메뉴 확장을 구현하는 방법의 코드 예제는 상황에 맞는 메뉴 COM 개체 구현에 대한 예제 코드를 참조하세요.