Compartir a través de


Opción de enlace rápido para operaciones de escritura y modificación por lotes

Cuando se enlaza un objeto de servicio de directorio, ADSI crea un objeto COM que representa el objeto de directorio especificado. Al enlazar, ADSI normalmente recuperará el atributo objectClass para que ADSI pueda exponer las interfaces COM adecuadas para esa clase de objeto. Por ejemplo, un objeto de usuario expondría la interfaz IADsUser además de las interfaces ADSI base admitidas para todos los objetos. Para una sola operación, esto no debería tener ningún efecto en el rendimiento. Sin embargo, si se realizan operaciones por lotes que requieren cientos o miles de enlaces a través de una conexión lenta y esas operaciones escriben datos en el servicio de directorio, puede ser conveniente intercambiar compatibilidad completa con objetos para un enlace más rápido. Esto se conoce como enlace rápido y se logra especificando la marca ADS_FAST_BIND cuando se llama a ADsOpenObject o IADsOpenDSObject::OpenDSObject .

El enlace rápido tiene las siguientes restricciones:

  • La operación de enlace debe realizarse con la función ADsOpenObject o con el método IADsOpenDSObject::OpenDSObject . La operación de enlace va al servidor de directorios una vez en lugar de dos veces. ADSI no recupera el atributo objectClass y, por lo tanto, expone solo las interfaces ADSI base para el objeto.

  • Se admiten las siguientes interfaces para el objeto COM:

  • Si el método IADsContainer::GetObject se usa para enlazar a objetos secundarios, el objeto secundario tiene las mismas características de enlace rápido que el elemento primario.

  • La existencia del objeto al que se enlaza no se comprueba durante la operación de enlace, por lo que las llamadas al método subsiguientes producirán un error si el objeto no existe. Por este motivo, el enlace rápido solo se debe usar para los objetos que se sabe que existen, por ejemplo, directamente después de realizar una consulta que devolvió los nombres distintivos de los objetos a los que se enlaza.

  • Las extensiones ADSI se exponen para objetos de clase superior. Por lo tanto, solo se exponen las extensiones de las interfaces ADSI base enumeradas anteriormente.