Compartilhar via


Limite de tempo do servidor com IDirectorySearch

Quando você solicita uma pesquisa em um servidor ocupado, convém solicitar que o servidor restrinja a pesquisa a um limite de tempo especificado. Por exemplo, você deseja executar um aplicativo para gerar um relatório semanal em um servidor que está sendo executado perto de sua capacidade. Para evitar usar todo o tempo da CPU e impedir a execução de outras operações, especifique o limite de tempo de pesquisa para um valor pequeno e execute novamente o aplicativo mais tarde se ele não conseguir gerar o relatório.

Alguns servidores podem impor seu próprio limite de tempo administrativo. Nesses casos, se você especificar um valor de limite de tempo de pesquisa maior que o limite de tempo administrativo, o servidor ignorará sua especificação e usará seu valor de limite de tempo interno.

O padrão para o limite de tempo do servidor é sem limite. Para definir um limite de tempo do servidor, defina uma opção de pesquisa ADS_SEARCHPREF_TIME_LIMIT com um valor ADSTYPE_INTEGER que contenha o limite de tempo do servidor, em segundos, na matriz ADS_SEARCHPREF_INFO passada para o método IDirectorySearch::SetSearchPreference . Essa operação é mostrada no exemplo de código a seguir. Um limite de tempo do servidor de zero indica que não há limite de tempo.

ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIME_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;