Récupération de plage d’attributs
Un attribut à valeurs multiples peut avoir presque n’importe quel nombre de valeurs. Dans de nombreux cas, il peut être avantageux, voire nécessaire, de limiter la plage de valeurs récupérées par une requête.
La récupération de plage implique la demande d’un nombre limité de valeurs d’attribut dans une requête unique. Le nombre de valeurs demandées doit être inférieur ou égal au nombre maximal de valeurs prises en charge par le serveur. Pour réduire le nombre de fois où la requête doit contacter le serveur, le nombre de valeurs demandées doit être aussi proche que possible de ce maximum. Pour permettre à une application de fonctionner correctement avec tous les serveurs Windows, un nombre maximal de 1 000 doit être utilisé.
Les spécificateurs de plage pour une requête de propriété nécessitent la forme suivante :
range=<low range>-<high range>
où «< low range> » est l’index de base zéro de la première valeur de propriété à récupérer et «< high range> » est l’index de base zéro de la dernière valeur de propriété à récupérer. Zéro est utilisé pour la «< plage> basse » pour spécifier la première entrée. Le caractère générique (*) peut être utilisé pour «< plage> élevée » pour spécifier toutes les entrées restantes.
Le tableau suivant répertorie des exemples de spécificateurs de plage.
Exemple | Description |
---|---|
range=0-* | Récupérez toutes les valeurs de propriété. Cela est soumis aux limites imposées par le serveur. |
range=0-500 | Récupérez de la 1ère à la 501e valeur inclusivement. |
range=2-3 | Récupérez les 3e et 4e valeurs. |
range=501-* | Récupérez la 502e et toutes les valeurs restantes. Cela est soumis aux limites imposées par le serveur. |
Il existe plusieurs façons de récupérer une plage de valeurs de propriété. La méthode IADs.GetInfoEx peut être utilisée dans un langage Automation ou C++. La méthode IADs.GetInfoEx est la méthode préférée pour effectuer la récupération de plage. Pour plus d’informations sur l’utilisation d’IADs.GetInfoEx pour la récupération de plage, consultez Utilisation de IADs::GetInfoEx pour la récupération de plages.
Si un langage d’automatisation est utilisé, les objets ActiveX Directory (ADO) peuvent être utilisés pour récupérer une plage de valeurs de propriété. Pour plus d’informations sur l’utilisation d’ADO pour la récupération de plages, consultez Utilisation d’ADO pour la récupération de plage.
Si C++ est utilisé, les interfaces IDirectorySearch et IDirectoryObject peuvent être utilisées pour récupérer une plage de valeurs de propriété. Pour plus d’informations sur l’utilisation d’IDirectorySearch et D’IDirectoryObject pour la récupération de plages, consultez Utilisation d’IDirectorySearch et IDirectoryObject pour la récupération de plages. Ce type de récupération doit être effectué sur les requêtes dont l’étendue est Base (ADS_SCOPE_BASE).