Automatische Bindungshandles
Automatische Bindungshandles sind nützlich, wenn die Anwendung keinen bestimmten Server erfordert und wenn keine Statusinformationen zwischen dem Client und dem Server verwaltet werden müssen. Wenn Sie ein automatisches Bindungshandle verwenden, müssen Sie keinen Clientanwendungscode schreiben, um mit Bindung und Handles zu umgehen. Sie geben einfach die Verwendung des automatischen Bindungshandles in der Anwendungskonfigurationsdatei (ACF) an. Der Stub definiert dann das Handle und verwaltet die Bindung.
Beispielsweise kann ein Zeitstempelvorgang mit einem automatischen Handle implementiert werden. Es macht keinen Unterschied für die Clientanwendung, die sie mit dem Zeitstempel bereitstellt, da sie die Zeit von jedem verfügbaren Server akzeptieren kann.
Anmerkung
Automatische Handles werden für die Macintosh-Plattform nicht unterstützt.
Sie geben die Verwendung von automatischen Handles an, indem Sie das Attribut [auto_handle] in den ACF einschließen. Das Zeitstempelbeispiel verwendet den folgenden ACF:
/* ACF file */
[
auto_handle
]
interface autoh
{
}
Wenn der ACF kein anderes Handle-Attribut enthält und wenn die Remoteprozeduren keine expliziten Handles verwenden, verwendet der MIDL-Compiler standardmäßig automatische Handles. Außerdem werden automatische Handles als Standard verwendet, wenn der ACF nicht vorhanden ist.
Die Remoteprozeduren werden in der IDL-Datei angegeben. Das automatische Handle darf nicht als Argument für die Remoteprozedur angezeigt werden. Zum Beispiel:
/* IDL file */
[
uuid (6B29FC40-CA47-1067-B31D-00DD010662DA),
version(1.0),
pointer_default(unique)
]
interface autoh
{
void GetTime([out] long * time);
void Shutdown(void);
}
Der Vorteil des automatischen Handles besteht darin, dass der Entwickler keinen Code schreiben muss, um das Handle zu verwalten. die Stubs verwalten die Bindung automatisch. Dies unterscheidet sich erheblich vom Hello, World-Beispiel, wobei der Client das implizite Grundtyphandle verwaltet, das in der ACF definiert ist und mehrere Laufzeitfunktionen aufrufen muss, um das Bindungshandle einzurichten.