Partager via


Option de liaison rapide pour les opérations d’écriture/modification par lots

Lorsqu’un objet de service d’annuaire est lié à, ADSI crée un objet COM qui représente l’objet d’annuaire spécifié. Lors de la liaison, ADSI récupère généralement l’attribut objectClass afin qu’ADSI puisse exposer les interfaces COM appropriées pour cette classe d’objet. Par exemple, un objet utilisateur expose l’interface IADsUser en plus des interfaces ADSI de base prises en charge pour tous les objets. Pour une seule opération, cela ne doit avoir aucun effet sur les performances. Toutefois, si des opérations par lots qui nécessitent des centaines ou des milliers de liaisons sur une connexion lente et que ces opérations écrivent des données dans le service d’annuaire, il peut être souhaitable d’échanger la prise en charge complète des objets pour une liaison plus rapide. Cette opération est appelée liaison rapide et s’effectue en spécifiant l’indicateur ADS_FAST_BIND lorsque ADsOpenObject ou IADsOpenDSObject::OpenDSObject est appelé.

La liaison rapide présente les restrictions suivantes :

  • L’opération de liaison doit être effectuée avec la fonction ADsOpenObject ou la méthode IADsOpenDSObject::OpenDSObject . L’opération de liaison est envoyée au serveur d’annuaire une fois au lieu de deux fois. ADSI ne récupère pas l’attribut objectClass et, par conséquent, expose uniquement les interfaces ADSI de base pour l’objet.

  • Les interfaces suivantes sont prises en charge pour l’objet COM :

  • Si la méthode IADsContainer::GetObject est utilisée pour lier des objets enfants, l’objet enfant a les mêmes caractéristiques de liaison rapide que le parent.

  • L’existence de l’objet lié à n’étant pas vérifiée pendant l’opération de liaison, les appels de méthode suivants échouent si l’objet n’existe pas. Pour cette raison, la liaison rapide ne doit être utilisée que pour les objets connus pour exister, par exemple, directement après l’exécution d’une requête qui a retourné les noms uniques des objets liés.

  • Les extensions ADSI sont exposées pour les objets de classe supérieure. Par conséquent, seules les extensions pour les interfaces ADSI de base répertoriées ci-dessus sont exposées.