Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Atrybut [context_handle_serialize] ACF gwarantuje, że uchwyt kontekstu będzie zawsze serializowany, niezależnie od domyślnego zachowania aplikacji.
typedef [context_handle_serialize [ , type-acf-attribute-list ] ] context-handle-type;
[context_handle_serialize [, function-acf-attribute-list ] ] function-name( );
function-name(
[context_handle_serialize [ , parameter-acf-attribute-list ] ] param-name );
Parametry
-
type-acf-attribute-list
-
Wszystkie inne atrybuty usługi ACF, które mają zastosowanie do typu.
-
typ-dojścia kontekstu
-
Identyfikator określający typ uchwytu kontekstu, zgodnie z definicją w deklaracji typedef . Jest to typ, który odbiera atrybut [context_handle_serialize] w pliku IDL.
-
function-acf-attribute-list
-
Wszelkie dodatkowe atrybuty usługi ACF, które mają zastosowanie do funkcji.
-
nazwa funkcji
-
Nazwa funkcji zdefiniowanej w pliku IDL.
-
parametr-acf-attribute-list
-
Wszystkie inne atrybuty usługi ACF, które mają zastosowanie do parametru.
-
param-name
-
Nazwa parametru zgodnie z definicją w pliku IDL.
Uwagi
Atrybut [context_handle_serialize] identyfikuje uchwyt powiązania, który przechowuje informacje o kontekście lub stanie na serwerze między zdalnymi wywołaniami procedur. Atrybut może być wyświetlany jako atrybut typu IDL typedef , jako atrybut zwracany przez funkcję lub jako atrybut parametru.
Domyślnie wywołania do dojść kontekstowych są serializowane, ale aplikacja może wywołać metodę RpcSsDontSerializeContext , aby zastąpić to zachowanie domyślne. Użycie atrybutu [context_handle_serialize] w pliku ACF gwarantuje, że wywołania tego konkretnego uchwytu kontekstu zostaną serializowane, nawet jeśli aplikacja wywołująca zastąpi domyślną serializacji. Procedury uruchamiania kontekstu są opcjonalne.
Ten atrybut jest dostępny w wersji MIDL w wersji 5.0.
Windows Server 2003 i Windows XP lub nowszych: Pojedynczy interfejs może pomieścić zarówno serializowane, jak i nieserializowane dojścia kontekstu, umożliwiając jednej metodzie w interfejsie dostęp wyłącznie do kontekstu (serializowane), podczas gdy inne metody uzyskują dostęp do tego kontekstu w trybie udostępnionym (nieserializowany). Te możliwości dostępu są porównywalne z mechanizmami blokowania odczytu/zapisu; metody korzystające z zserializowanego uchwytu kontekstu są wyłącznymi użytkownikami (pisarzami), natomiast metody korzystające z nieserializowanego uchwytu kontekstu są współużytkowanymi użytkownikami (czytelnikami). Metody, które niszczą lub modyfikują stan uchwytu kontekstu, muszą być serializowane. Metody, które nie modyfikują stanu uchwytu kontekstu, takie jak metody, które po prostu odczytują z uchwytu kontekstu, mogą być nieserializowane. Należy pamiętać, że metody tworzenia są niejawnie serializowane.
Examples
typedef [context_handle_serialize] PCONTEXT_HANDLE_TYPE;
HRESULT RemoteFunc([context_handle_serialize] pCxHandle);
Zobacz także