프로토콜 처리기에 대한 검색 커넥트or 만들기

Windows 탐색기는 레지스트리 키 항목을 통해 프로토콜 처리기에 대한 검색 커넥터 만들기를 제어합니다. 레지스트리를 통해 구현자와 타사 모두 새 프로토콜 처리기와 레거시 프로토콜 처리기가 Windows 7 Search에 참여할 수 있도록 할 수 있습니다.

이 항목은 다음과 같이 구성됩니다.

Windows 7의 프로토콜 처리기에 대한 Search 커넥트ors 정보

Windows 7에서 시작 메뉴 또는 Windows 탐색기의 검색에는 인덱싱된 위치에 있는 파일만 포함되며, 검색 커넥터가 있는 원격 데이터 저장소 또는 프로토콜 처리기 항목과 같은 파일이 아닌 시스템 항목도 포함됩니다. 시작 메뉴 및 셸 검색 범위에 프로토콜 처리기 항목을 포함하는 것 외에도 검색 커넥터를 사용하면 시작 메뉴에서 프로토콜 처리기 항목을 시작 메뉴 결과에 함께 그룹화할 수 있으며, 이로 인해 사용자가 그룹 헤더를 클릭하고 프로토콜 처리기에서만 결과를 볼 수 있습니다. 또는 사용자가 검색 폴더로 이동하여 검색 커넥터 파일을 열고 해당 검색 커넥터와 연결된 특정 프로토콜 처리기의 항목만 포함하는 검색을 수행할 수 있습니다.

사용자가 프로토콜 처리기를 등록하는 애플리케이션을 처음 시작하면 Windows 탐색기는 사용자의 검색 폴더에 프로토콜 처리기에 대한 검색 커넥터 파일(.search커넥트or-ms)을 생성합니다. 프로토콜 처리기가 있는 애플리케이션은 이 동작을 사용하지 않도록 설정하거나 프로토콜 처리기 검색 커넥터의 이름과 설명을 사용자 지정할 수 있습니다.

참고 항목

사용자 검색 폴더의 위치는 %userprofile%\Search이거나 FOLDERID_SavedSearches. FOLDERID_SavedSearches GUID는 {7d1d3a04-debb-4115-95cf-2f29da2920da}입니다.

 

Windows 탐색기는 다음 섹션에 설명된 레지스트리 키 항목을 통해 프로토콜 처리기에 대한 검색 커넥터 만들기를 제어합니다.

참고 항목

프로토콜 처리기에 대한 검색 커넥터를 만드는 프로그래밍 방식의 수단은 없습니다. 레지스트리를 통해 구성해야 합니다.

 

레지스트리 키와 해당 가능한 값은 다음 표에 설명되어 있습니다. 예를 들어 프로토콜 처리기는 프로토콜이 MAPI, 파일 또는 csc와 같은 프로토콜의 실제 이름으로 대체되는 <> 이러한 레지스트리 키의 일부 또는 전체를 채울 수 있습니다.

레지스트리 키 가능한 값 Type 설명
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch커넥트ors\<protocol>\Version 존재하지 않습니다(기본값). 그렇지 않으면 1 이상입니다. REG_DWORD 이 값은 이미 처리된 검색 루트에 대한 위치 템플릿 등록의 변경 내용을 검색하는 데 사용됩니다. 존재하지 않는 경우 기본값으로 0을 사용합니다. 또는 최신 버전의 프로토콜 처리기가 설치되어 있으므로 검색 커넥터를 다시 생성해야 한다는 것을 Windows 탐색기에 알리기 위해 버전을 증분합니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch커넥트ors\<protocol>\DoNotCreateSearch커넥트ors 존재하지 않습니다(기본값). 그렇지 않으면 1로 설정됩니다. REG_DWORD 없는 경우 검색 폴더에 .searchconnector-ms 파일을 만듭니다. 1이면 처리된 것으로 표시하고 아무 작업도 수행하지 않습니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch커넥트ors\<protocol>\Default\Description 검색 커넥터에 대한 설명을 포함하는 지역화 가능한 문자열입니다. REG_SZ 선택 사항. .searchconnector-ms 파일의 Description 요소에 사용됩니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch커넥트ors\<protocol>\Default\Name 검색 커넥터의 이름을 지정하는 지역화된 문자열입니다. .searchconnector-ms 파일의 이름으로 사용됩니다. REG_SZ 각 위치에는 고유한 이름이 있어야 합니다. 이 값이 없으면 프로토콜 처리기의 IShellFolder 인터페이스 에서 제공하는 표시 이름이 사용됩니다.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Search\PHSearch커넥트ors\<protocol>\Default\FolderType 검색 커넥터에 적용할 FOLDERTYPEID 를 식별하는 GUID입니다. REG_SZ 선택 사항. .searchconnector-ms 파일의 folderType 요소에서 결과를 표시하는 데 사용해야 하는 템플릿을 나타내는 데 사용됩니다. 예를 들어 FOLDERTYPEID_Documents GUID 값입니다.

 

프로토콜 처리기 검색 커넥트 또는 만들기 사용 안 됨

애플리케이션이 애플리케이션 자체에서 사용하기 위해 프로토콜 처리기를 통해 항목을 노출하고 셸을 통해 항목을 노출하지 않으려는 경우(시작 메뉴 및 Windows 탐색기 검색에서) 프로토콜 처리기에 대한 검색 커넥터 만들기를 사용하지 않도록 설정해야 합니다.

검색 커넥터 생성을 사용하지 않도록 설정하려면 다음 레지스트리 키 예제와 같이 DoNotCreateSearch커넥트ors를 0x00000001(1)로 설정합니다.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  DoNotCreateSearchConnectors

DoNotCreateSearch커넥트ors가 1로 설정된 경우 프로토콜 처리기가 노출하는 각 항목에 System.Shell.OmitFromView 속성을 노출하고 이 속성의 값을 TRUE설정하는 것이 좋습니다. 이렇게 하면 프로토콜 처리기 항목이 시작 메뉴 파일 그룹 아래에 표시되지 않습니다.

DoNotCreateSearch커넥트ors가 있고 0으로 설정된 경우 Windows 탐색기는 프로토콜 처리기에 대한 검색 커넥터를 만들고 프로토콜 처리기 항목은 시작 메뉴 및 Windows 탐색기 검색에 반환됩니다.

프로토콜 처리기 검색 커넥트or에 대한 이름, 설명 또는 FolderType 사용자 지정

검색 커넥터 이름은 검색 폴더에서 검색 커넥터를 식별할 뿐만 아니라 시작 메뉴 검색의 결과에 대한 그룹 헤더로 사용됩니다. 따라서 검색 커넥터에 대한 설명이 포함된 이름을 제공하는 것이 중요합니다. 레지스트리 키에 이름이 제공되지 않는 경우 기본적으로 Windows 탐색기는 프로토콜 처리기의 검색 루트 및 빈 설명에 대해 IShellFolder 인터페이스 에서 제공하는 이름을 사용합니다. IShellFolder 인터페이스의 이름을 바꿀 필요 없이 레지스트리 키 항목을 통해 기본 이름을 재정의할 수 있습니다. 검색 커넥터 이름만큼 표시되지는 않지만 고유한 설명을 제공하여 검색 커넥터에 대한 설명을 재정의할 수도 있습니다.

기본 이름 또는 설명을 재정의하려면 다음 레지스트리 예제와 같이 항목을 설정합니다.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     Name
                     Description

또한 FolderType 항목은 FOLDERTYPEID GUID 중 하나로 설정할 수 있습니다. 값은 이름이 아니라 실제 GUID여야 합니다. 예를 들어 FOLDERTYPEID_음악 대신 {94d6ddcc-4a68-4175-a374-bd584a510b78}입니다. FOLDERTYPEID의 GUID는 Windows SDK의 Shlguid.h 헤더 파일에서 가져올 수 있습니다.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Default
                     FolderType = {94d6ddcc-4a68-4175-a374-bd584a510b78}

레지스트리 문자열 리디렉션 사용

리디렉션된 문자열사용하여 검색 커넥터에 제공하는 이름을 지역화할 수 있도록 할 수 있습니다. 레지스트리에 실제 문자열을 입력하는 대신 이름 및 설명 레지스트리 키에 대해 지역화 가능한 문자열을 포함할 수 있습니다.

이름 또는 설명 값에 대한 지역화 가능한 문자열을 포함하려면 다음 레지스트리 키 예제와 같이 값을 설정합니다.

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows Search
            PHSearchConnectors
               <protocol>
                  Name = @dllname.dll,-resourceID

지역화 가능한 문자열은 다음 형식을 사용합니다.

  • @dllname.dll,-resourceID어디:
    • @dllname.dll 는 문자열 리소스를 포함하는 DLL의 경로입니다.
    • resourceID는 문자열 리소스의 정수 리소스 ID입니다.

간접 문자열의 형식과 버전 한정자가 추가된 간접 문자열은 SHLoadIndirectString 함수에 설명되어 있습니다.

삭제된 프로토콜 처리기 검색 커넥트or 복원

검색 커넥터는 사용자의 컴퓨터에 있는 파일이므로 실수로 삭제할 수 있습니다. 삭제된 모든 프로토콜 처리기 검색 커넥터를 복원하려면 기본 라이브러리를 복원합니다. 이렇게 하려면 Windows 탐색기를 열고 라이브러리 폴더를 마우스 오른쪽 단추로 클릭한 다음 기본 라이브러리 복원을 선택합니다.

screen shot showing the restore default libraries menu option

추가 리소스

개념

프로토콜 처리기 이해

프로토콜 처리기 개발

변경 내용 인덱스 알림

아이콘 및 상황에 맞는 메뉴 추가

코드 샘플: 프로토콜 처리기용 셸 확장

프로토콜 처리기 설치 및 등록

프로토콜 처리기 디버깅