Bagikan melalui


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:

Diagram yang memperlihatkan definisi makro MIDL berlaku untuk panggilan fungsi.

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
Rpc.h