Распределенные вычисления: технология Microsoft RPC. Часть1. Фертиков В.В. - 17 стр.

UptoLike

Составители: 

17
void Usage(char * pszProgramName)
{ fprintf(stderr, "Usage: %s\n", pszProgramName);
fprintf(stderr, " -p protocol_sequence\n");
fprintf(stderr, " -n network_address\n");
fprintf(stderr, " -e endpoint\n");
fprintf(stderr, " -o options\n");
fprintf(stderr, " -s string\n");
exit(1);
}
void main(int argc, char **argv)
{ RPC_STATUS status;
unsigned char * pszUuid = NULL;
unsigned char * pszProtocolSequence = "ncacn_np";
unsigned char * pszNetworkAddress = NULL;
unsigned char * pszEndpoint = "\\pipe\\hello";
unsigned char * pszOptions = NULL;
unsigned char * pszStringBinding = NULL;
unsigned char * pszString = "Hello, world";
unsigned long ulCode;
int i;
/* Обработка ключей командной строки, позволяющих изменять
определенные выше установки параметров */
for (i = 1; i < argc; i++) {
if ((*argv[i] == '-') || (*argv[i] == '/')) {
switch (tolower(*(argv[i]+1))) {
case 'p': // protocol sequence
pszProtocolSequence = argv[++i]; break;
case 'n': // network address
pszNetworkAddress = argv[++i]; break;
case 'e': // endpoint
pszEndpoint = argv[++i]; break;
case 'o': // options
pszOptions = argv[++i]; break;
case 's': // string
pszString = argv[++i]; break;
case 'h':
case '?':
default: Usage(argv[0]);
}
}
else Usage(argv[0]);
}
                              17
void Usage(char * pszProgramName)
{   fprintf(stderr, "Usage: %s\n", pszProgramName);
    fprintf(stderr, " -p protocol_sequence\n");
    fprintf(stderr, " -n network_address\n");
    fprintf(stderr, " -e endpoint\n");
    fprintf(stderr, " -o options\n");
    fprintf(stderr, " -s string\n");
    exit(1);
}

void main(int argc, char **argv)
{   RPC_STATUS status;
    unsigned char * pszUuid               =   NULL;
    unsigned char * pszProtocolSequence   =   "ncacn_np";
    unsigned char * pszNetworkAddress     =   NULL;
    unsigned char * pszEndpoint           =   "\\pipe\\hello";
    unsigned char * pszOptions            =   NULL;
    unsigned char * pszStringBinding      =   NULL;
    unsigned char * pszString             =   "Hello, world";
    unsigned long ulCode;
    int i;

/* Обработка ключей командной строки, позволяющих изменять
   определенные выше установки параметров */
    for (i = 1; i < argc; i++) {
         if ((*argv[i] == '-') || (*argv[i] == '/')) {
            switch (tolower(*(argv[i]+1))) {
                case 'p': // protocol sequence
                    pszProtocolSequence = argv[++i]; break;
                case 'n': // network address
                    pszNetworkAddress = argv[++i]; break;
                case 'e': // endpoint
                    pszEndpoint = argv[++i]; break;
                case 'o': // options
                    pszOptions = argv[++i]; break;
                case 's': // string
                    pszString = argv[++i]; break;
                case 'h':
                case '?':
                default: Usage(argv[0]);
             }
         }
         else Usage(argv[0]);
    }