Condividi tramite


Sviluppo del server

Quando si crea un programma server per un'applicazione distribuita, è necessario usare il file di intestazione e lo stub del server generati dal compilatore MIDL. Per informazioni dettagliate, vedere Sviluppo dell'interfaccia. Includere il file di intestazione nel file di programma C del server. Compilare lo stub del server con i file di origine C che compongono l'applicazione. Collegare i file oggetto risultanti insieme alla libreria di importazione. Questo processo è illustrato nel diagramma seguente.

processo di creazione di un programma server per un'applicazione distribuita

Come si può vedere dall'esempio nell'illustrazione, è stato usato un file MIDL denominato MyApp.idl per definire l'interfaccia. Il compilatore MIDL ha usato MyApp.idl per produrre MyApp_s.c e MyApp.h. Produce anche un file di origine C per lo stub del client, ma non è rilevante per questa discussione specifica. Il file di origine C per il programma server (in questo caso Mysrvr.c) deve includere il file Myapp.h. Sarà anche necessario includere i file Rpc.h e Rpcndr.h.

L'applicazione server è stata sviluppata in due file, Mysrvr.c e Rprocs.c. Il file Mysrvr.c contiene le funzioni necessarie per l'esecuzione e l'esecuzione del programma server. Le procedure remote offerte dal programma server sono contenute nel file Rprocs.c.

I file Mysrvr.c e Rprocs.c sono stati compilati insieme a Myapp_s.c per produrre file oggetto. I file oggetto sono stati quindi collegati alla libreria di runtime RPC e a tutte le altre librerie necessarie. Il risultato è un programma server eseguibile denominato Mysrvr.exe.

Se non si compila il file IDL in modalità di compatibilità OSF (Open Software Foundation) (/osf), il programma server deve fornire una funzione per l'allocazione della memoria e una funzione per la deallocazione. Per Windows 2000 e versioni successive di Windows, la modalità consigliata è /Oicf. Per informazioni dettagliate, vedere Modalità di allocazione e deallocazione della memoria e puntatori e allocazione di memoria.