Не удается перезапустить RPC-сервер (Windows SDK) - PullRequest
2 голосов
/ 06 января 2012

Я использую следующие команды для остановки сервера RPC

RPC_STATUS status;
while(RpcMgmtWaitServerListen() != RPC_S_NOT_LISTENING)
    status = RpcMgmtStopServerListening(NULL);
RPC_BINDING_VECTOR *binding_vector;
status = RpcServerInqBindings(&binding_vector);
if (status)
{
    throw std::exception("RPC ERROR!");
}
status = RpcEpUnregister(Comms_v1_0_s_ifspec,binding_vector,NULL);
if (status)
{
    throw std::exception("RPC ERROR!");
}
status = RpcBindingVectorFree(&binding_vector);
if (status)
{
    throw std::exception("RPC ERROR!");
}

Когда я вызываю оператор RpcEpUnregister, он заканчивается на , не может выполнить операцию при ошибке конечной точки .

если я использую следующий код для остановки сервера

RPC_STATUS status;
while(RpcMgmtWaitServerListen() != RPC_S_NOT_LISTENING)
    status = RpcMgmtStopServerListening(NULL);
status = RpcServerUnregisterIf(NULL,NULL,FALSE);

при перезапуске сервера RpcServerUseProtseqEp выбрасывает конечную точку Конечная точка является дубликатом независимо от того, сколько я пытаюсь запустить код RpcServerUseProtseqEp он все тот же.

...