Membebaskan Deskriptor WinSNMP
Lingkungan pemrograman WinSNMP menetapkan alokasi sumber daya deskriptor ke implementasi WinSNMP atau aplikasi WinSNMP, tergantung pada komponen mana yang mengalokasikan memori untuk deskriptor.
Untuk membebaskan sumber daya dari smiOID atau deskriptor smiOCTETS, aturan berikut berlaku:
Untuk parameter input
Karena aplikasi WinSNMP mengalokasikan memori untuk objek input dengan panjang variabel, aplikasi harus membebaskan memori tersebut menggunakan fungsi yang sesuai. Misalnya, jika aplikasi mengalokasikan sumber daya dengan panggilan ke fungsiGlobalAlloc, aplikasi harus menggunakan fungsi GlobalFree untuk membatalkan alokasi sumber daya. Jika aplikasi mengalokasikan sumber daya dengan panggilan ke fungsiHeapAlloc, aplikasi harus memanggil fungsiHeapFree.
Untuk parameter output
Panggilan ke salah satu fungsi berikut menghasilkan implementasi yang mengalokasikan memori untuksmiOIDatau deskriptorsmiOCTETS: SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStr, dan SnmpStrToOid.
Karena implementasi mengalokasikan memori untuk objek output ini, aplikasi harus memanggil fungsi SnmpFreeDescriptor untuk membatalkan alokasi sumber daya. Fungsi ini memungkinkan implementasi untuk membebaskan memori yang dialokasikan untuk anggota ptr dari struktur ini.
Untuk membebaskan sumber daya untuk struktur smiVALUE, aplikasi WinSNMP harus memeriksa anggota sintaks dari struktur smiVALUE untuk mengevaluasi anggota nilai dari struktur tersebut secara benar. Jika anggota sintaks menunjukkan bahwa anggota nilai adalah smiOCTETS atau smiOID deskriptor, dan bagian implementasi yang telah mengalokasikan sumber daya untuk deskriptor, aplikasi harus memanggil SnmpFreeDescriptor. Ini memungkinkan implementasi untuk membebaskan memori. Jika aplikasi mengalokasikan sumber daya, aplikasi harus membebaskan memori menggunakan fungsi yang sesuai, seperti yang ditunjukkan sebelumnya.
Untuk informasi selengkapnya, lihat Mengalokasikan Objek Memori WinSNMP.