Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das ACF-Attribut [context_handle_noserialize] garantiert, dass ein Kontexthandle niemals serialisiert wird, unabhängig vom Standardverhalten der Anwendung.
typedef [context_handle_noserialize [ , type-acf-attribute-list ] ] context-handle-type
[context_handle_noserialize [, function-acf-attribute-list ] ] function-name( );
function-name ( [context_handle_noserialize
[ , parameter-acf-attribute-list ] ] param-name );
Parameter
-
type-acf-attribute-list
-
Alle anderen ACF-Attribute, die für den Typ gelten.
-
context-handle-type
-
Der Bezeichner, der den Kontexthandletyp angibt, wie in einer Typedef-Deklaration definiert. Dies ist der Typ, der das Attribut [context_handle] in der IDL-Datei empfängt.
-
function-acf-attribute-list
-
Alle zusätzlichen ACF-Attribute, die für die Funktion gelten.
-
Funktionsname
-
Der Name der Funktion, wie in der IDL-Datei definiert.
-
parameter-acf-attribute-list
-
Alle anderen ACF-Attribute, die für den Parameter gelten.
-
param-name
-
Der Name des Parameters, wie in der IDL-Datei definiert.
Bemerkungen
Das Attribut [context_handle] identifiziert ein Bindungshandle, das Kontext- oder Statusinformationen auf dem Server zwischen Remoteprozeduraufrufen verwaltet. Das Attribut kann als IDL typedef typedef type attribute, as a function return type attribute, or as a parameter attribute angezeigt werden.
Standardmäßig werden Aufrufe von Kontexthandles serialisiert. Eine Anwendung kann RpcSsDontSerializeContext aufrufen, um dieses Standardverhalten außer Kraft zu setzen. Die Verwendung des [context_handle] -Attributs in einer ACF-Datei garantiert, dass Aufrufe dieses bestimmten Kontexthandles unabhängig vom Verhalten der aufrufenden Anwendung nicht serialisiert werden. Die Bereitstellung einer Kontextausführungsroutine ist optional.
Dieses Attribut ist in MIDL Version 5.0 verfügbar.
Windows Server 2003 und Windows XP oder höher: Eine einzelne Schnittstelle kann sowohl serialisierte als auch nicht-ialisierte Kontexthandles aufnehmen, wodurch eine Methode auf eine Schnittstelle zugreifen kann, die ausschließlich auf ein Kontexthandle (serialisiert) zugreifen kann, während andere Methoden auf dieses Kontexthandle im gemeinsam genutzten Modus zugreifen (nicht enerialisiert). Diese Zugriffsfunktionen sind vergleichbar mit Lese-/Schreibsperrmechanismen; Methoden, die ein serialisiertes Kontexthandle verwenden, sind exklusive Benutzer (Autoren), während Methoden, die ein nichtserialisiertes Kontexthandle verwenden, freigegebene Benutzer (Leser) sind. Methoden, die den Zustand eines Kontexthandle zerstören oder ändern, müssen serialisiert werden. Methoden, die den Status eines Kontexthandles nicht ändern, z. B. methoden, die einfach aus einem Kontexthandle gelesen werden, können nicht geordnet sein. Beachten Sie, dass Erstellungsmethoden implizit serialisiert werden.
Beispiele
typedef [context_handle_noserialize] PCONTEXT_HANDLE_TYPE;
HRESULT RemoteFunc([context_handle_noserialize] pCxHandle);
Siehe auch