Makro Portabilitas
Alat RPC mencapai independensi model, panggilan, dan konvensi penamaan dengan mengaitkan jenis data dan jenis pengembalian fungsi dalam file stub dan file header yang dihasilkan dengan definisi khusus untuk setiap platform. Definisi makro ini memastikan bahwa setiap tipe data dan fungsi yang memerlukan penentuan __far ditentukan sejauh objek.
Gambar berikut menunjukkan definisi makro yang diterapkan pengkompilasi MIDL untuk panggilan fungsi di antara komponen RPC:
Makro RPC didefinisikan sebagai berikut.
Definisi | Deskripsi |
---|---|
__RPC_API | Diterapkan ke panggilan yang dilakukan oleh stub ke aplikasi pengguna. Kedua fungsi berada dalam program yang dapat dieksekusi yang sama. |
__RPC_FAR | Diterapkan ke definisi makro standar untuk penunjuk. Definisi makro ini akan muncul sebagai bagian dari tanda tangan semua fungsi yang disediakan pengguna. |
__RPC_STUB | Diterapkan ke panggilan yang dilakukan dari pustaka run-time ke stub. Panggilan ini dapat dianggap privat. |
__RPC_USER | Diterapkan ke panggilan yang dilakukan oleh pustaka run-time ke aplikasi pengguna. Ini melewati batas antara DLL dan aplikasi. |
RPC_ENTRY | Diterapkan ke panggilan yang dilakukan oleh aplikasi atau stub ke pustaka run-time. Definisi makro ini diterapkan ke semua fungsi run-time RPC. |
Untuk menautkan dengan benar dengan pustaka run-time, stub, dan rutinitas dukungan Microsoft RPC, beberapa fungsi yang disediakan pengguna juga harus menyertakan makro ini dalam definisi fungsi. Gunakan makro __RPC_API saat Anda menentukan fungsi yang terkait dengan manajemen memori, handel pengikatan yang ditentukan pengguna, dan atribut transmit_as , dan gunakan __RPC_USER makro saat Anda menentukan rutinitas run-down konteks yang terkait dengan handel konteks. Tentukan fungsi sebagai:
-
__RPC_USER midl_user_allocate(...)
-
__RPC_USER midl_user_free(...)
-
__RPC_USER handletype_bind(...)
-
__RPC_USER handletype_unbind(...)
-
jenis __RPC_USER_to_local
-
jenis __RPC_USER_from_local
-
__RPC_USER type_to_xmit(...)
-
jenis __RPC_USER_from_xmit(...)
-
jenis __RPC_USER_free_local
-
jenis __RPC_USER_free_inst(...)
-
jenis __RPC_USER_free_xmit(...)
-
__RPC_USER context_rundown(...)
Catatan
Semua parameter penunjuk dalam fungsi ini harus ditentukan menggunakan __RPC_FAR makro.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|