Sviluppo del client
Lo sviluppo di un programma client RPC è simile allo sviluppo del programma server. Per informazioni sullo sviluppo di un programma server RPC, vedere Sviluppo del server.
Come nello sviluppo del server, il programma client deve includere il file di intestazione generato dal file con estensione idl. Il compilatore MIDL genera anche un file di origine C contenente lo stub del client. È necessario compilare questo file di origine C e collegarlo al programma client. Il compilatore MIDL genera inoltre un file di origine C contenente lo stub del server, ma non è rilevante per questa discussione.
Oltre alla compilazione e al collegamento dello stub client con i file di programma, è necessario collegare la libreria di importazione (e tutte le altre librerie necessarie al programma client) al programma client. Il processo di creazione di un programma client RPC è illustrato nel diagramma seguente.
L'esempio nella figura precedente illustra la creazione di un programma client RPC denominato MyClnt.exe. Il primo passaggio consiste nel definire l'interfaccia nel file MyApp.idl. Il compilatore MIDL usa MyApp.idl per generare il file MyApp_c.c, che contiene lo stub del client. Genera anche il file MyApp.h, che il programma client deve includere. Il programma client dovrà includere anche i file RPC.h e RPCNDR.h.
Il programma client stesso viene creato nel file MyClnt.c. In un progetto reale, il programma client in genere sarà composto da diversi file di origine C. Tutti devono essere compilati e collegati insieme. Tuttavia, questo esempio usa solo un file per semplicità.
I file MyClnt.c e MyApp_c.c vengono compilati e collegati insieme alla libreria di runtime RPC e alle altre librerie necessarie al programma client. Il risultato è un programma client eseguibile denominato MyClnt.exe.
Se non si compila il file IDL in modalità di compatibilità OSF (/osf), il programma client deve fornire una funzione per allocare la memoria e una funzione per deallocare. Per Windows 2000 e versioni successive, la modalità consigliata è /Oicf. Per informazioni dettagliate, vedere Modalità di allocazione e deallocazione della memoria epuntatori e allocazione della memoria.