클라이언트는 서버가 결과 집합을 반환하는 데 시간 제한을 적용할 수 있습니다. 서버가 지정된 기간 내에 쿼리에 응답하지 못하면 클라이언트는 검색을 중단한 후 나중에 다시 시도할 수 있습니다.
클라이언트 시간 제한 기본 설정은 클라이언트가 비동기 검색을 요청할 때 유용합니다. 비동기 검색에서 클라이언트는 요청을 수행하고 서버가 결과를 반환할 때까지 기다리는 동안 다른 작업을 진행합니다. 클라이언트에 알리지 않고 서버가 오프라인으로 전환할 수 있습니다. 이 경우 클라이언트는 서버가 여전히 쿼리를 처리하고 있는지 또는 더 이상 라이브 상태가 아닌지에 대한 알림을 받지 않습니다. 클라이언트 시간 제한 기본 설정은 클라이언트가 이와 같은 상황을 제어할 수 있게 해줍니다.
클라이언트 시간 제한의 기본값은 제한이 없습니다. 클라이언트 시간 제한을 설정하려면 IDirectorySearch::SetSearchPreference 메서드에 전달된 ADS_SEARCHPREF_INFO 배열에서 클라이언트 시간 제한이 포함된 ADSTYPE_INTEGER 값(초)으로 ADS_SEARCHPREF_TIMEOUT 검색 옵션을 설정합니다. 클라이언트 시간 제한이 0이면 시간 제한이 없음을 나타냅니다.
다음 코드 예제에서는 클라이언트 시간 제한을 설정하는 방법을 보여줍니다.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIMEOUT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;