Freigeben über


Implizite und explizite Handles

Verwenden Sie zum Deklarieren eines Serialisierungshandles den primitiven Handletyp handle_t. Serialisierungshandles können explizit oder implizit sein. Geben Sie implizite Handles im ACF Ihrer Anwendung an, indem Sie das Attribut [implicit_handle] verwenden. Der MIDL-Compiler generiert eine variable globale Serialisierungshandle. Serialisierungsprozeduren mit einem impliziten Handle verwenden diese globale Variable, um auf einen gültigen Serialisierungskontext zuzugreifen.

Bei Verwendung der Typcodierung verwenden die generierten Routinen, die die Serialisierung eines bestimmten Typs unterstützen, das globale implizite Handle, um auf den Serialisierungskontext zuzugreifen. Beachten Sie, dass Remoteroutinen möglicherweise das implizite Handle als Bindungshandle verwenden müssen. Stellen Sie sicher, dass das implizite Handle auf ein gültiges Serialisierungshandle festgelegt ist, bevor Sie einen serialisierenden Aufruf ausführen.

Ein explizites Handle wird als Parameter des Prototyps der Serialisierungsprozedur in der IDL-Datei angegeben, oder es kann auch mithilfe des [explicit_handle]- Attributs im ACF angegeben werden. Der explizite handle-Parameter wird verwendet, um den richtigen Serialisierungskontext für die Prozedur einzurichten. Um den richtigen Kontext im Fall der Typserialisierung herzustellen, generiert der Compiler die unterstützenden Routinen, die explizite handle_t Parameter als Serialisierungshandle verwenden. Sie müssen ein gültiges Serialisierungshandle bereitstellen, wenn Sie eine Serialisierungsprozedur oder eine Serialisierungstypunterstützungsroutine aufrufen.