Uso de MIDL
Todas las interfaces de los programas que usan RPC deben definirse en microsoft Interface Definition Language (MIDL) y compilarse con el compilador MIDL. En los temas siguientes se presenta una breve introducción a la creación y compilación de una interfaz MIDL:
Para obtener una explicación detallada de estos temas, consulte Los archivos IDL y ACF.
Los archivos MIDL son archivos de texto que puede crear y editar con un editor de texto. Si genera un UUID para la interfaz, normalmente almacenará la salida en un archivo MIDL de plantilla. Para obtener más información sobre los UUID, vea Generar UUID de interfaz.
Todas las interfaces de MIDL siguen el mismo formato. Comienzan con un encabezado que contiene una lista de atributos de interfaz y el nombre de la interfaz. Los atributos se incluyen entre corchetes. El encabezado de interfaz va seguido de su cuerpo, que se incluye entre corchetes. En el ejemplo siguiente se muestra una interfaz simple:
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0)
]
interface MyInterface
{
const unsigned short INT_ARRAY_LEN = 100;
void MyRemoteProc(
[in] int param1,
[out] int outArray[INT_ARRAY_LEN]
);
}
Algunos de los atributos que suelen aparecer en una definición de interfaz MIDL son el UUID y el número de versión de la interfaz. El cuerpo de la definición de interfaz debe contener las declaraciones de procedimiento de todos los procedimientos remotos de la interfaz. También puede contener las declaraciones de tipos de datos y constantes que requiere la interfaz.
Todos los parámetros de las declaraciones de procedimiento remoto deben declararse como [in], [out] o [in, out]. Estas declaraciones especifican que el programa cliente pasa datos a un procedimiento remoto, obtiene datos de un procedimiento remoto o ambos. Para obtener información más detallada sobre las declaraciones de parámetros de interfaz, vea El cuerpo de la interfaz IDL.
El compilador MIDL es una herramienta de línea de comandos que se instala automáticamente con el Kit de desarrollo de software de plataforma (SDK). Invoquelo en una ventana de comandos escribiendo el comando midl, seguido del nombre de un archivo MIDL, en la línea de comandos. Asegúrese de que el directorio que contiene el compilador MIDL está en la ruta de acceso. En el ejemplo siguiente se muestra su uso:
midl MyApp.idl
Tenga en cuenta que no es necesario incluir la extensión si el nombre de archivo tiene la extensión .idl. También puede usar los modificadores de línea de comandos del compilador MIDL insertándolos entre el comando midl y el nombre de archivo. Esto se muestra en el ejemplo siguiente:
midl /acf MyApp.acf MyApp.idl
En este ejemplo, el compilador MIDL se ejecuta con el archivo MyApp.idl como archivo de entrada. El modificador de línea de comandos /acf indica al compilador que use también un archivo de configuración de aplicación (ACF) para la entrada. Los archivos de configuración de la aplicación se describen más exhaustivamente en Los archivos IDL y ACF.
Para obtener información más detallada sobre el uso del compilador MIDL, vea Microsoft Interface Definition Language (MIDL) (Lenguaje de definición de interfaz de Microsoft [MIDL]), que contiene información sobre los temas siguientes:
- Requisitos del preprocesador de C para MIDL
- Consideraciones del compilador de C/C++
- Archivos generados para una interfaz RPC
- Referencia de la línea de comandos de MIDL
- Referencia del lenguaje MIDL
- Errores y advertencias del compilador MIDL