Registrieren der Schnittstelle
Durch die Registrierung der Schnittstelle, die von einem Serverprogramm unterstützt wird, können Remoteprozeduraufrufe von Clientprogrammen an die richtige Serverroutine weitergeleitet werden. Serverprogramme rufen RpcServerRegisterIf auf, um ihre Schnittstellen zu registrieren. Das folgende Codefragment veranschaulicht seine Verwendung:
RPC_STATUS status;
status = RpcServerRegisterIf(MyInterface_v1_0_s_ifspec, NULL, NULL);
Der erste Parameter für die RpcServerRegisterIf-Funktion ist eine Struktur, die der MIDL-Compiler aus der IDL-Datei generiert, die die Schnittstelle (oder Schnittstellen) für den Server definiert. Der zweite und der dritte Parameter sind eine UUID bzw. ein Einstiegspunktvektor. Sie sind in diesem Beispiel auf NULL festgelegt. In vielen Fällen legt Ihr Serverprogramm diese Parameterwerte auf NULL fest. Serverprogramme verwenden den zweiten und dritten Parameter, wenn sie mehrere Implementierungen derselben Prozeduren in einer Schnittstelle bereitstellen. Weitere Informationen finden Sie unter Einstiegspunktvektoren.
Serverprogramme können auch RpcServerRegisterIfEx verwenden, um eine Schnittstelle zu registrieren. Ein Vorteil der Verwendung dieser Funktion besteht darin, dass sie Ihrer Anwendung die Möglichkeit bietet, eine Sicherheitsrückruffunktion festzulegen. Die Verwendung von Sicherheitsrückruffunktionen ist der empfohlene Ansatz zum Sichern einer Schnittstelle.
Hinweis
MIDL erzeugt zwei sehr ähnliche Strukturen, eine für den Client und eine für den Server. Die an die RpcServerRegisterIf-Funktion übergebene Struktur ist die Serverversion der von MIDL erstellten Struktur.