atribut context_handle_serialize
Atribut ACF [context_handle_serialize] menjamin bahwa handel konteks akan selalu diserialisasikan, terlepas dari perilaku default aplikasi.
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 );
Parameter
-
type-acf-attribute-list
-
Atribut ACF lainnya yang berlaku untuk jenis tersebut.
-
jenis handel konteks
-
Pengidentifikasi yang menentukan jenis handel konteks, seperti yang didefinisikan dalam deklarasi typedef . Ini adalah jenis yang menerima atribut [context_handle_serialize] dalam file IDL.
-
function-acf-attribute-list
-
Setiap atribut ACF tambahan yang berlaku untuk fungsi.
-
nama fungsi
-
Nama fungsi seperti yang didefinisikan dalam file IDL.
-
parameter-acf-attribute-list
-
Atribut ACF lainnya yang berlaku untuk parameter .
-
param-name
-
Nama parameter seperti yang didefinisikan dalam file IDL.
Keterangan
Atribut [context_handle_serialize] mengidentifikasi handel pengikatan yang mempertahankan informasi konteks atau status di server antara panggilan prosedur jarak jauh. Atribut dapat muncul sebagai atribut jenis typedef IDL, sebagai atribut jenis pengembalian fungsi, atau sebagai atribut parameter.
Secara default, panggilan pada handel konteks diserialisasikan, tetapi aplikasi dapat memanggil RpcSsDontSerializeContext untuk mengambil alih perilaku default ini. Menggunakan atribut [context_handle_serialize] dalam file ACF menjamin bahwa panggilan pada handel konteks khusus ini akan diserialisasikan, bahkan jika aplikasi panggilan telah menimpa serialisasi default. Rutinitas rundown konteks bersifat opsional.
Atribut ini tersedia di MIDL versi 5.0.
Windows Server 2003 dan Windows XP atau yang lebih baru: Satu antarmuka dapat mengakomodasi handel konteks berseri dan nonserialisasi, memungkinkan satu metode pada antarmuka untuk mengakses handel konteks secara eksklusif (diserialisasikan), sementara metode lain mengakses handel konteks tersebut dalam mode bersama (nonserialisasi). Kemampuan akses ini sebanding dengan mekanisme penguncian baca/tulis; Metode yang menggunakan handel konteks berseri adalah pengguna eksklusif (penulis), sedangkan metode yang menggunakan handel konteks yang tidak diserialisasi adalah pengguna bersama (pembaca). Metode yang menghancurkan atau memodifikasi status handel konteks harus diserialisasikan. Metode yang tidak memodifikasi status handel konteks, seperti metode yang hanya membaca dari handel konteks, dapat tidak diserialisasi. Perhatikan bahwa metode pembuatan diserialisasikan secara implisit.
Contoh
typedef [context_handle_serialize] PCONTEXT_HANDLE_TYPE;
HRESULT RemoteFunc([context_handle_serialize] pCxHandle);
Lihat juga