atrybut context_handle_serialize

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

Plik konfiguracji aplikacji (ACF)

Atrybuty usługi ACF

context_handle_noserialize

context_handle

Dojścia kontekstu

RpcSsDontSerializeContext

Procedury uruchamiania kontekstu serwera

Wielowątkowi klienci i uchwyty kontekstowe

Typedef