Quantcast
Channel: CodeGuru Forums - Visual C++ Programming
Viewing all articles
Browse latest Browse all 3029

getting RpcExceptionCode 5 with RPC code

$
0
0
i got the source code from this website:
http://www.aspfree.com/c/a/net/intro...indows-part-i/

and when i tried running the server and client i get Runtime exception occured:5
in the client console

i don't know how to fix it
heres the client code:
Code:

// File DoRPC_Client.cpp
#include <stdio.h>
#include "..\RPC1_IDL\DoRPC.h"

int main()
{
  RPC_STATUS status;
  unsigned char* szStringBinding = NULL;

  // Creates a string binding handle.
  // This function formats the passed values in a
  // predefined format for use by RPC. Just like printf
  // Connection is not done here.
  status = RpcStringBindingCompose(
      NULL, // UUID to bind to.
      (unsigned char*)("ncacn_ip_tcp"), // Use TCP/IP protocol.
      (unsigned char*)("localhost"), // TCP/IP network - the same machine as server
      (unsigned char*)("9191"), // TCP/IP port to use.
      NULL,                                // Protocol dependent network options to use.
      &szStringBinding);                // String binding output.

  if (status)
      exit(status);

  // Validates the format of the string binding handle and converts
  // it to a binding handle.
  // Connection is not done here either.
  status = RpcBindingFromStringBinding(
      szStringBinding, // The string binding to validate.
      &hDoRPCBinding); // Put the result in the implicit binding
                          // handle defined in the IDL file.

        if(status)
        {
                exit(status);
        }

        RpcTryExcept
        {
                // Calls the RPC function. The hDoRPCBinding binding handle
                // is used implicitly.
                // Connection is done here.
                const unsigned char szMsg[] = "Client: I Can RPC Now!";
                Show(szMsg);
        }
        RpcExcept(1)
        {
                printf("Runtime exception occured: %d\n",RpcExceptionCode());
        }
        RpcEndExcept

        // Free the memory allocated by a string.
        status = RpcStringFree(&szStringBinding); // String to be freed.

        if(status)
        {
                exit(status);
        }

        // Releases binding handle resources and disconnects from the server.
        status = RpcBindingFree(
        &hDoRPCBinding);        // Frees the implicit binding handle defined in
                                                // the IDL file.

        if (status)
        {
                exit(status);
        }

        system ("PAUSE");

        return 0;
}

// Memory allocation function for RPC.
// The runtime uses these two functions for allocating/deallocating
// enough memory to pass the string to the server.
void* __RPC_USER midl_user_allocate(size_t size)
{
        return malloc(size);
}

// Memory deallocation function for RPC.
void __RPC_USER midl_user_free(void* p)
{
        free(p);
}


Viewing all articles
Browse latest Browse all 3029

Latest Images

Trending Articles



Latest Images