Compartir a través de


Identificadores de enlace automático

Los identificadores de enlace automático son útiles cuando la aplicación no requiere un servidor específico y cuando no necesita mantener ninguna información de estado entre el cliente y el servidor. Cuando se usa un identificador de enlace automático, no es necesario escribir ningún código de aplicación cliente para tratar con el enlace y los identificadores, simplemente se especifica el uso del identificador de enlace automático en el archivo de configuración de la aplicación (ACF). A continuación, el código auxiliar define el identificador y administra el enlace.

Por ejemplo, una operación de marca de tiempo se puede implementar mediante un identificador automático. No hace ninguna diferencia con la aplicación cliente que el servidor proporciona con la marca de tiempo porque puede aceptar la hora de cualquier servidor disponible.

Nota

No se admiten controladores automáticos para la plataforma Macintosh.

 

Para especificar el uso de identificadores automáticos, incluya el atributo [auto_handle] en ACF. En el ejemplo de marca de tiempo se usa el siguiente ACF:

/* ACF file */
[
  auto_handle
]
interface autoh
{
}

Cuando el ACF no incluye ningún otro atributo handle y cuando los procedimientos remotos no usan identificadores explícitos, el compilador MIDL usa identificadores automáticos de forma predeterminada. También usa identificadores automáticos como valor predeterminado cuando el ACF no está presente.

Los procedimientos remotos se especifican en el archivo IDL. El identificador automático no debe aparecer como argumento para el procedimiento remoto. Por ejemplo:

/* IDL file */
[ 
  uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
  version(1.0),
  pointer_default(unique)
]
interface autoh
{
  void GetTime([out] long * time);
  void Shutdown(void);
}

La ventaja del identificador automático es que el desarrollador no tiene que escribir ningún código para administrar el identificador; los códigos auxiliares administran el enlace automáticamente. Esto es significativamente diferente del ejemplo Hello, World, donde el cliente administra el identificador primitivo implícito definido en ACF y debe llamar a varias funciones en tiempo de ejecución para establecer el identificador de enlace.