|
|
1.1 ! root 1: This directory contains the files for the sample ! 2: distributed application "cluuid": ! 3: ! 4: File Description ! 5: ! 6: README.TXT Readme file for the cluuid sample ! 7: CLUUID.IDL Interface definition language file ! 8: CLUUID.ACF Attribute configuration file ! 9: CLUUIDC.C Client main program ! 10: CLUUIDS.C Server main program ! 11: CLUUIDP.C Remote procedures ! 12: MAKEFILE Nmake file to build for NT ! 13: MAKEFILE.DOS Nmake file to build for MS-DOS ! 14: ! 15: This sample program demonstrates how to supply ! 16: multiple implementations of the remote procedure ! 17: specified in the interface. It also demonstrates ! 18: how the client selects among the implementations ! 19: by providing a client object uuid. ! 20: ! 21: The server calls RpcObjectSetType to associate a ! 22: client object uuid with the object uuid in the ! 23: Object Registry Table. The server initializes a ! 24: manager entry point vector (manager epv) and ! 25: then calls RpcRegisterIf to associate the interface ! 26: uuid and the object uuid with the manager epv in the ! 27: Interface Registry Table. ! 28: ! 29: When the client makes a remote procedure call, ! 30: the client object uuid is mapped to the object uuid ! 31: in the Object Registry Table. The resulting ! 32: object uuid and the interface uuid are mapped to ! 33: a manager entry point vector in the Interface ! 34: Registry Table. ! 35: ! 36: By default, in this example, the server registers ! 37: two implementations of the "hello, world" function ! 38: HelloProc and HelloProc2. The HelloProc2 ! 39: implementation is associated with the object uuid ! 40: "11111111-1111-1111-1111-111111111111". When ! 41: the client makes a procedure call with a null ! 42: uuid, the client's request is mapped to the ! 43: original HelloProc. When the client makes a ! 44: procedure call with the client object uuid ! 45: "11111111-1111-1111-1111-11111111111", the ! 46: client's request is mapped to HelloProc2 (which ! 47: prints the string in reverse). ! 48: ! 49: ------------------------------------------- ! 50: BUILDING CLIENT AND SERVER APPLICATIONS FOR ! 51: MICROSOFT WINDOWS NT: ! 52: ------------------------------------------- ! 53: ! 54: The following environment variables should be set for you already. ! 55: set CPU=i386 ! 56: set INCLUDE=c:\mstools\h ! 57: set LIB=c:\mstools\lib ! 58: set PATH=c:\winnt\system32;c:\mstools\bin; ! 59: ! 60: For mips, set CPU=mips ! 61: ! 62: Build the sample distributed application: ! 63: nmake cleanall ! 64: nmake ! 65: ! 66: This builds the executable programs cluuidc.exe ! 67: (client) and cluuids.exe (server). ! 68: ! 69: ------------------------------------------ ! 70: BUILDING THE CLIENT APPLICATION FOR MS-DOS ! 71: ------------------------------------------ ! 72: ! 73: After you install the Microsoft C/C++ version 7.0 ! 74: development environment and the Microsoft RPC version ! 75: 1.0 toolkit on an MS-DOS or Microsoft Windows computer, ! 76: you can build the sample client application for MS-DOS. ! 77: Enter: ! 78: ! 79: nmake -f makefile.dos cleanall ! 80: nmake -f makefile.dos ! 81: ! 82: This builds the client application cluuidc.exe. ! 83: ! 84: ------------------------------------------ ! 85: RUNNING THE CLIENT AND SERVER APPLICATIONS ! 86: ------------------------------------------ ! 87: ! 88: On the server, enter ! 89: ! 90: cluuids ! 91: ! 92: On the client, enter ! 93: ! 94: net start workstation ! 95: cluuidc ! 96: ! 97: To call the second implementation of the function, ! 98: on the client, enter ! 99: cluuidc -u "11111111-1111-1111-1111-111111111111" ! 100: ! 101: Note: The client and server applications can run on ! 102: the same Microsoft Windows NT computer when you use ! 103: different screen groups. ! 104: ! 105: Several command line switches are available to change ! 106: settings for this program. For a listing of the switches ! 107: available from the client program, enter ! 108: ! 109: cluuidc -? ! 110: ! 111: For a listing of switches available from the server ! 112: program, enter ! 113: ! 114: cluuids -?
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.