Compartir a través de


El archivo IDL

El archivo IDL consta de una o varias definiciones de interfaz, cada una de las cuales tiene un encabezado y un cuerpo. El encabezado contiene información que se aplica a toda la interfaz, como el UUID. Esta información se incluye entre corchetes y va seguida de la palabra clave interfaz y el nombre de la interfaz. El cuerpo contiene definiciones de tipos de datos de estilo C y prototipos de función, aumentados con atributos que describen cómo se transmiten los datos a través de la red.

En este ejemplo, el encabezado de interfaz contiene solo el UUID y el número de versión. El número de versión garantiza que cuando haya varias versiones de una interfaz RPC, solo se conectarán las versiones compatibles del cliente y el servidor.

El cuerpo de la interfaz contiene el prototipo de función para HelloProc. En este prototipo, el parámetro de función pszString tiene los atributos [en] y [cadena]. El atributo [in] indica a la biblioteca en tiempo de ejecución que el parámetro solo se pasa del cliente al servidor. El atributo [string] especifica que el código auxiliar debe tratar el parámetro como una cadena de caracteres de estilo C.

La aplicación cliente debe poder apagar la aplicación de servidor, por lo que la interfaz contiene un prototipo para otra función remota,Shutdown , que se implementará más adelante en este tutorial.

//file hello.idl
[
    uuid(7a98c250-6808-11cf-b73b-00aa00b677a7),
    version(1.0)
]
interface hello
{
    void HelloProc([in, string] unsigned char * pszString);
    void Shutdown(void);
}