ВУЗ:
Составители:
24
status = RpcServerRegisterIf(
hello_ServerIfHandle,
NULL, // MgrTypeUuid
NULL); // MgrEpv; null по умолчанию
printf("RpcServerRegisterIf returned 0x%x\n", status);
if (status) exit(status);
printf("Calling RpcServerListen\n");
status = RpcServerListen(
cMinCalls,
cMaxCalls,
fDontWait);
printf("RpcServerListen returned: 0x%x\n", status);
if (status) exit(status);
if (fDontWait) {
printf("Calling RpcMgmtWaitServerListen\n");
status = RpcMgmtWaitServerListen(); // ожидание
printf("RpcMgmtWaitServerListen returned: 0x%x\n",
status);
if (status) exit(status);
}
}
/* распределение памяти */
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
{ return(malloc(len));
}
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
{ free(ptr);
}
Сборка серверного приложения
Сборка серверного приложения совершенно аналогична сборке приложе-
ния клиента.
MIDL компиляция
Подразумевается, что исходный файл серверного стаба был сгенерирован
вместе с файлом клиентского стаба и файлом заголовка. Компилятор MIDL
создает все эти три файла одновременно . В нашем примере нет необходимости
вызывать компилятор MIDL дважды. Командная строка компилятора MIDL вы -
глядит следующим образом :
# makefile, фрагмент
midl hello.idl
24 status = RpcServerRegisterIf( hello_ServerIfHandle, NULL, // MgrTypeUuid NULL); // MgrEpv; null по умолчанию printf("RpcServerRegisterIf returned 0x%x\n", status); if (status) exit(status); printf("Calling RpcServerListen\n"); status = RpcServerListen( cMinCalls, cMaxCalls, fDontWait); printf("RpcServerListen returned: 0x%x\n", status); if (status) exit(status); if (fDontWait) { printf("Calling RpcMgmtWaitServerListen\n"); status = RpcMgmtWaitServerListen(); // ожидание printf("RpcMgmtWaitServerListen returned: 0x%x\n", status); if (status) exit(status); } } /* распределение памяти */ void __RPC_FAR * __RPC_API midl_user_allocate(size_t len) { return(malloc(len)); } void __RPC_API midl_user_free(void __RPC_FAR * ptr) { free(ptr); } Сборка серверного приложения Сборка серверного приложения совершенно аналогична сборке приложе- ния клиента. MIDL компиляция Подразумевается, что исходный файл серверного стаба был сгенерирован вместе с файлом клиентского стаба и файлом заголовка. Компилятор MIDL создает все эти три файла одновременно. В нашем примере нет необходимости вызывать компилятор MIDL дважды. Командная строка компилятора MIDL вы- глядит следующим образом: # makefile, фрагмент midl hello.idl
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »