Limite de temps du serveur avec IDirectorySearch
Lorsque vous demandez une recherche sur un serveur occupé, vous pouvez demander au serveur de limiter la recherche à une limite de temps spécifiée. Par exemple, vous souhaitez exécuter une application pour générer un rapport hebdomadaire sur un serveur qui s’exécute près de sa capacité. Pour éviter d’utiliser toute la durée du processeur et d’empêcher l’exécution d’autres opérations, spécifiez la limite de temps de recherche sur une petite valeur, puis réexécutez l’application ultérieurement si elle ne parvient pas à générer le rapport.
Certains serveurs peuvent imposer leur propre limite de temps d’administration. Dans ce cas, si vous spécifiez une valeur de limite de temps de recherche supérieure à la limite de temps d’administration, le serveur ignore votre spécification et utilise sa valeur de limite de temps interne à la place.
La valeur par défaut pour la limite de temps du serveur n’est pas de limite. Pour définir une limite de temps de serveur, définissez une option de recherche ADS_SEARCHPREF_TIME_LIMIT avec une valeur ADSTYPE_INTEGER qui contient la limite de temps du serveur, en secondes, dans le tableau ADS_SEARCHPREF_INFO passé à la méthode IDirectorySearch::SetSearchPreference . Cette opération est illustrée dans l’exemple de code suivant. Une limite de temps de serveur de zéro indique qu’aucune limite de temps n’est définie.
ADS_SEARCHPREF_INFO SearchPref;
SearchPref.dwSearchPref = ADS_SEARCHPREF_TIME_LIMIT;
SearchPref.vValue.dwType = ADSTYPE_INTEGER;
SearchPref.vValue.Integer = 10;