Bagikan melalui


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.