Tworzenie serwera
Podczas tworzenia programu serwera dla aplikacji rozproszonej należy użyć nagłówkowego pliku i wycinku serwera generowanego przez kompilator MIDL. Aby uzyskać szczegółowe informacje, zobacz Tworzenie interfejsu. Dołącz plik nagłówka do pliku programu C serwera. Skompiluj wycinkę serwera przy użyciu plików źródłowych języka C, które tworzą aplikację. Połącz wynikowe pliki obiektów wraz z biblioteką importu. Ten proces przedstawiono na poniższym diagramie.
Jak widać w przykładzie na ilustracji, plik MIDL o nazwie MyApp.idl został użyty do zdefiniowania interfejsu. Kompilator MIDL używał pliku MyApp.idl do tworzenia plików MyApp_s.c i MyApp.h. Tworzy również plik źródłowy C dla stubu klienta, ale nie jest to istotne dla tej konkretnej dyskusji. Plik źródłowy C dla programu serwera (w tym przypadku Mysrvr.c) musi zawierać plik Myapp.h. Należy również uwzględnić pliki Rpc.h i Rpcndr.h.
Aplikacja serwera została opracowana w dwóch plikach: Mysrvr.c i Rprocs.c. Plik Mysrvr.c zawiera funkcje niezbędne do uruchomienia programu serwera. Procedury zdalne, które oferuje program serwera, znajdują się w pliku Rprocs.c.
Pliki Mysrvr.c i Rprocs.c zostały skompilowane razem z plikiem Myapp_s.c w celu utworzenia plików obiektów. Pliki obiektów zostały następnie połączone z biblioteką czasu wykonywania RPC oraz innymi bibliotekami, które mogą być potrzebne. Wynikiem jest program serwera wykonywalnego o nazwie Mysrvr.exe.
Jeśli nie skompilujesz pliku IDL w trybie zgodności Open Software Foundation (OSF) (/osf), program serwera musi zapewnić funkcję przydzielania pamięci i funkcję do zwalniania jej. W przypadku systemu Windows 2000 i nowszych wersji systemu Windows zalecany tryb jest /Oicf. Aby uzyskać szczegółowe informacje, zobacz Jak pamięć jest przydzielana i zwalnianaoraz Wskaźniki i alokacja pamięci.