Annotation of mstools/samples/rpc/hello3/server.c, revision 1.1

1.1     ! root        1: /****************************************************************************
        !             2:                        Microsoft RPC Version 1.0 Alpha
        !             3:                                 October 1991
        !             4:                                Hello3 Example
        !             5: 
        !             6:     FILE:       hello3\server.c
        !             7:     USAGE:      server
        !             8:     PURPOSE:    Server side of RPC distributed application hello3
        !             9:     FUNCTIONS:  main() - registers server as RPC server
        !            10:     COMMENTS:
        !            11:     This version of the distributed application that prints
        !            12:     "hello, world" on the server features a client that
        !            13:     manages its connection to the server. It uses the binding
        !            14:     handle hRpcHello, defined in the file hello3.h.
        !            15: ****************************************************************************/
        !            16: #include <stdlib.h>
        !            17: #include <windows.h>
        !            18: #include <string.h>
        !            19: #include <stdio.h>
        !            20: #include <ctype.h>
        !            21: 
        !            22: #include <rpc.h>       // RPC data structures and APIs
        !            23: #include "hello3.h"    // interface
        !            24: 
        !            25: void main(void)
        !            26: {
        !            27:     RPC_HANDLE Server, Address, Interface;
        !            28:     RPC_STATUS status;
        !            29: 
        !            30: /*  Select named pipes as the transport type and provide the     */
        !            31: /*  name of the named pipe that is used for RPC.                 */
        !            32: /*  The server specifies the pipe name in the form:              */
        !            33: /*     \device\namedpipe\pipename                                */
        !            34: /*  In this example, the pipename is "hello3"                    */
        !            35: 
        !            36:     hello3_ProtocolStack.TransportType = RPC_TRANSPORT_NAMEPIPE;
        !            37:     hello3_ProtocolStack.TransportInfo = "\\device\\namedpipe\\hello3";
        !            38:     hello3_ProtocolStack.TransportInfoLength =
        !            39:         strlen(hello3_ProtocolStack.TransportInfo) + 1;
        !            40: 
        !            41:     status = RpcCreateServer( (RPC_EVENT_HANDLERS *)0,
        !            42:                               &Server);
        !            43:     if (status) {
        !            44:         printf("RpcCreateServer: 0x%x", status);
        !            45:         exit(2);
        !            46:     }
        !            47: 
        !            48:     status = RpcAddAddress(Server,
        !            49:                            &hello3_ProtocolStack,
        !            50:                            0,            // address flags
        !            51:                            &Address,
        !            52:                            (void *) 0,   // reserved
        !            53:                            RpcNormalResourceUsage,
        !            54:                            0L);          // timeout
        !            55:     if (status) {
        !            56:         printf("RpcAddAddress: %d", status);
        !            57:         exit(2);
        !            58:     }
        !            59: 
        !            60:     status = RpcAddInterface(Server,
        !            61:                              &hello3_ProtocolStack,
        !            62:                              &Interface,
        !            63:                              (void *) 0,  // reserved
        !            64:                              &hello3_DispatchTable);
        !            65:     if (status) {
        !            66:         printf("RpcAddInterface: 0x%x", status);
        !            67:         exit(2);
        !            68:     }
        !            69: 
        !            70:     printf("hello3 server started.  Waiting for client requests...\n");
        !            71: 
        !            72:     while (1)
        !            73:         Sleep(5000);
        !            74: 
        !            75: } /* end main() */
        !            76: /* end hello3\server.c */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.