Name Service Entry Cleanup
Ein Namensdiensteintrag sollte Informationen enthalten, die sich nicht häufig ändern. Aus diesem Grund schließen Sie keine dynamischen Endpunkte in Ihre exportierten Bindungshandles ein, da sie sich bei jedem Aufruf des Servers ändern und Ihren Namensdiensteintrag durcheinander führen. Verwenden Sie RpcBindingReset, um diese Bindungshandles zu entfernen.
Eine vernünftige Abfolge von Servervorgängen wäre beispielsweise:
Für mehrere Transporte:
RpcServerUseProtseq();
RpcServerUseProtseq();
So platzieren Sie Bindungen in der Endpunktzuordnung:
RpcServerInqBindings(&Vector);
RpcEpRegister(Interface, Vector);
So entfernen Sie Endpunkte aus Bindungen:
for (i=0; i < Vector- > Count; + + i)
{
RpcBindingReset(Vector->BindingH[i];
}
So fügen Sie dem Namensdienst Bindungen hinzu:
RpcNsBindingExport(RPC_C_NS_SYNTAX_DEFAULT, EntryName, Interface
Vector);
RpcServerListen();