Desarrollo del cliente
Desarrollar un programa cliente RPC es similar al desarrollo del programa de servidor. Para obtener información sobre el desarrollo de un programa de servidor RPC, vea Developing the Server.
Al igual que en el desarrollo del servidor, el programa cliente debe incluir el archivo de encabezado que el compilador MIDL genera a partir del archivo .idl. El compilador MIDL también genera un archivo de código fuente de C que contiene el código auxiliar del cliente. Debe compilar este archivo de código fuente de C y vincularlo al programa cliente. (Además, el compilador MIDL genera un archivo de código fuente de C que contiene el código auxiliar del servidor, pero eso no es relevante para esta discusión).
Además de compilar y vincular el código auxiliar de cliente con los archivos de programa, debe vincular la biblioteca de importación (y cualquier otra biblioteca que necesite el programa cliente) al programa cliente. El proceso de creación de un programa cliente RPC se muestra en el diagrama siguiente.
En el ejemplo de la ilustración anterior se muestra la creación de un programa cliente RPC denominado MyClnt.exe. El primer paso es definir la interfaz en el archivo MyApp.idl. El compilador MIDL usa MyApp.idl para generar el archivo MyApp_c.c, que contiene el código auxiliar del cliente. También genera el archivo MyApp.h, que el programa cliente debe incluir. El programa cliente también tendrá que incluir los archivos RPC.h y RPCNDR.h.
El propio programa cliente se crea en el archivo MyClnt.c. En un proyecto real, el programa cliente normalmente se compone de varios archivos de código fuente de C. Todos ellos tendrían que compilarse y vincularse juntos. Sin embargo, en este ejemplo solo se usa un archivo para simplificar.
Los archivos MyClnt.c y MyApp_c.c se compilan y vinculan junto con la biblioteca en tiempo de ejecución rpc y cualquier otra biblioteca que necesite el programa cliente. El resultado es un programa cliente ejecutable denominado MyClnt.exe.
Si no compila el archivo IDL en modo de compatibilidad de OSF (/osf), el programa cliente debe proporcionar una función para asignar memoria y una función para desasignarla. Para Windows 2000 y versiones posteriores, el modo recomendado es /Oicf. Para obtener más información, vea Cómo se asigna y desasigna la memoria, así como punteros y asignación de memoria.