참고
인덱싱 서비스는 Windows XP를 기준으로 더 이상 지원되지 않으며 Windows 8 현재 사용할 수 없습니다. 대신 클라이언트 쪽 검색에 Windows Search 를 사용하고 서버 쪽 검색에 Microsoft Search Server Express 를 사용합니다.
백업 또는 기타 용도로 카탈로그 상태를 설정합니다.
구문
HRESULT SetCatalogState(
WCHAR const *pwcsCat,
WCHAR const *pwcsMachine,
DWORD dwNewState,
DWORD *pdwOldState
);
매개 변수
pwcsCat
카탈로그 이름(예: L"system" 또는 L"Web")에 대한 포인터입니다.
pwcsMachine
카탈로그가 있는 컴퓨터의 이름에 대한 포인터입니다. 예를 들어 로컬 컴퓨터의 경우 L"."입니다.
dwNewState
카탈로그의 상태입니다. CICAT_* 상수를 참조하세요.
pdwOldState
카탈로그의 현재 상태를 반영하는 CICAT_* 상수 중 하나를 수신하는 값에 대한 포인터입니다.
반환 값
이 함수는 이러한 값 중 하나를 반환할 수 있습니다.
| 반환 코드 | Description |
|---|---|
|
작업이 성공적으로 완료되었습니다. |
|
함수가 잘못된 매개 변수를 수신했습니다. |
|
카탈로그 또는 컴퓨터를 찾을 수 없으므로 함수가 실패했습니다. |
|
인덱싱 서비스가 실행되고 있지 않아 함수가 실패했습니다. |
|
인덱싱 서비스가 너무 사용 중이므로 함수가 실패했습니다. |
설명
카탈로그는 다음 조건이 있는 경우 읽기 전용일 수 있습니다.
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ContentIndex\Catalogs\<카탈로그 이름>\IsReadOnly 레지스트리 항목의 값은 1로 설정됩니다.
- 카탈로그는 쓰기로 보호되는 볼륨에 있습니다.
- 카탈로그, 특히 cicat.hsh 파일은 읽기 전용입니다.
이전 조건이 있고 CICAT_WRITABLE 비트가 설정된 경우 원하는 효과가 없으며 카탈로그가 읽기 전용으로 열립니다.
dwNewState 매개 변수에 CICAT_NO_QUERY 포함된 경우 시스템은 카탈로그를 쓰기 가능한 상태로 설정할 수 있는지 확인합니다. 카탈로그를 쓸 수 없는 이전 조건이 있으면 카탈로그는 읽기 전용으로 유지되고 pdwOldState 매개 변수는 CICAT_READONLY 반환합니다. 그러나 플래그의 의도는 쿼리를 중지하는 것이므로 카탈로그는 이 읽기 전용 상태에 있더라도 쿼리 수락을 중지합니다.
특히 다음을 호출하는 경우:
SetCatalogState("System", ".", CICAT_NO_QUERY, &OldState);
반환 시 pdwOldState 매개 변수의 값에는 볼륨 또는 파일의 READONLY/WRITABLE 특성에 따라 CI_CAT_WRITABLE 또는 CI_CAT_READONLY 값 외에 CICAT_NO_QUERY 포함됩니다.
dwNewState 매개 변수가 CICAT_NO_QUERY 이외의 값인 SetCatalogState를 호출하는 경우 반환 시 pdwOldState 매개 변수 값에는 카탈로그의 현재 상태를 반영하는 상호 배타적인 CICAT_ 상수(CICAT_NO_QUERY 및 CICAT_GET_STATE 제외)가 포함됩니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
| 지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
| 대상 플랫폼 | Windows |
| 헤더 | ntquery.h |
| 라이브러리 | Ntquery.lib |
| DLL | Ntquery.dll |