Fungsi midl_user_free
Fungsi midl_user_free harus disediakan oleh pengembang RPC. Ini membebaskan memori yang dialokasikan oleh midl_user_allocate untuk stub RPC dan rutinitas pustaka. Fungsi midl_user_free Anda harus cocok dengan prototipe berikut:
void __RPC_USER midl_user_free(void * pBuffer);
Parameter pBuffer menentukan pointer ke memori yang akan dibebaskan. Aplikasi klien dan aplikasi server harus menerapkan fungsi midl_user_free kecuali Anda mengkompilasi dalam mode kompatibilitas OSF (/osf). Fungsi midl_user_free harus dapat membebaskan semua penyimpanan yang dialokasikan oleh midl_user_allocate.
Aplikasi dan stub memanggil midl_user_free saat berhadapan dengan objek yang dialokasikan:
- Aplikasi server harus memanggil midl_user_free untuk membebaskan memori yang dialokasikan oleh aplikasi, seperti saat menghapus simpul data yang dialokasikan secara dinamis.
- Stub server memanggil midl_user_free untuk merilis memori di server setelah marshaling semua argumen [out], argumen [in],[out], dan nilai pengembalian fungsi.
Misalnya, program sampel RPC Windows yang menampilkan "Halo, dunia" mengimplementasikan midl_user_free dalam hal fungsi C gratis:
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Catatan
Jika paket RpcSs diaktifkan (misalnya, sebagai hasil dari penggunaan atribut [ enable_allocate]), program server Anda harus menggunakan RpcSmFree untuk membebaskan memori. Untuk informasi selengkapnya, lihat Paket Manajemen Memori RpcSs.