Pointer dan Alokasi Memori
Kemampuan untuk mengubah memori melalui pointer sering mengharuskan server dan klien mengalokasikan memori yang cukup untuk elemen dalam array.
Ketika stub harus mengalokasikan atau membebaskan memori, itu memanggil fungsi pustaka run-time yang pada gilirannya memanggil fungsi midl_user_allocate dan midl_user_free. Fungsi-fungsi ini tidak disertakan sebagai bagian dari pustaka run-time. Anda perlu menulis versi anda sendiri dari fungsi-fungsi ini dan menautkannya dengan aplikasi Anda. Dengan cara ini, Anda dapat memutuskan cara mengelola memori. Saat mengkompilasi file IDL Anda dalam mode kompatibilitas OSF (/osf), Anda tidak perlu menerapkan fungsi-fungsi ini. Anda harus menulis fungsi-fungsi ini ke prototipe berikut:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
Misalnya, versi fungsi-fungsi ini untuk aplikasi cukup memanggil fungsi pustaka standar:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
{
return(malloc(len));
}
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
{
free(ptr);
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk