Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las extensiones de Microsoft para el lenguaje IDL admiten varios parámetros de identificador que aparecen en posiciones distintas del primer parámetro, situado más a la izquierda. En los pasos siguientes se describe la secuencia que pasa el compilador MIDL para resolver el parámetro binding-handle en el modo de compatibilidad de DCE (/osf) y en modo predeterminado (extendido por Microsoft).
Modo de compatibilidad con DCE
- Identificador de enlace que aparece en la primera posición.
- Situado más a la izquierda [en, context_handle] parámetro .
- Identificador de enlace implícito especificado por [implicit_handle] o [auto_handle].
- Si no hay ningún ACF presente, use de forma predeterminada [auto_handle].
Modo predeterminado
- Identificador de enlace explícito más a la izquierda.
- Identificador de enlace implícito especificado por [implicit_handle] o [auto_handle].
- Si no hay ningún ACF presente, use de forma predeterminada [auto_handle].
Los compiladores IDL de DCE buscan un identificador de enlace explícito como primer parámetro. Cuando el primer parámetro no es un identificador de enlace y se especifican uno o varios identificadores de contexto, el identificador de contexto más a la izquierda se usa como identificador de enlace. Cuando el primer parámetro no es un identificador y no hay ningún identificador de contexto, el procedimiento usa el enlace implícito mediante el atributo ACF [implicit_handle] o [auto_handle].
Las extensiones de Microsoft al IDL permiten que el identificador de enlace esté en una posición distinta del primer parámetro. El parámetro [situado más a la izquierda en] parámetro explicit-handle ,ya sea un identificador primitivo, definido por el programador o un identificador de contexto, es el identificador de enlace. Cuando no hay parámetros de identificador, el procedimiento usa el enlace implícito mediante el atributo ACF [implicit_handle] o [auto_handle].
Las reglas siguientes se aplican tanto al modo de compatibilidad de DCE (/osf) como al modo predeterminado:
- El enlace de identificador automático se usa cuando no hay ningún ACF presente.
- Explicit [en] o [en, out] controla para una función individual preempt cualquier enlace implícito especificado para la interfaz.
- No se admiten varios [en] o [en, fuera] identificadores primitivos.
- Se permiten varios [en] o [en, out] identificadores de contexto explícitos.
- Todos los parámetros de identificador definidos por el programador, excepto el parámetro binding-handle, se tratan como datos transmisibles.
La tabla siguiente contiene ejemplos y describe cómo se asignan los identificadores de enlace en cada modo del compilador.
| Ejemplo | Descripción |
|---|---|
|
No se especifica ningún identificador explícito. Se usa el identificador de enlace implícito, especificado por [ implicit_handle] o [ auto_handle]. Cuando no hay ningún controlador ACF presente, se usa un identificador automático. |
|
Se especifica un identificador explícito de tipo handle_t. El parámetro H es el identificador de enlace del procedimiento. |
|
El primer parámetro no es un identificador. En el modo predeterminado, el parámetro de identificador más a la izquierda, H, es el identificador de enlace. En el modo /osf, se usa el enlace implícito. Se notifica un error porque se espera que el segundo parámetro sea transmisible y handle_t no se pueda transmitir. |
|
El primer parámetro no es un identificador. En el modo predeterminado, el parámetro de identificador más a la izquierda, H, es el identificador de enlace. Los códigos auxiliares llaman a las rutinas proporcionadas por el usuario MY_HDL_bind y MY_HDL_unbind. En modo osf, se usa el enlace implícito. El parámetro de identificador definido por el programador H se trata como datos transmisibles. |
|
El primer parámetro es un identificador de enlace. El parámetro H es el parámetro binding-handle. El segundo parámetro de identificador definido por el programador se trata como datos transmisibles. |
|
El identificador de enlace es un identificador de contexto. El parámetro H es el identificador de enlace. |