Liberare i descrittori WinSNMP
L'ambiente di programmazione WinSNMP assegna la deallocazione delle risorse del descrittore all'implementazione WinSNMP o all'applicazione WinSNMP, a seconda del componente che alloca la memoria per il descrittore.
Per liberare le risorse per unsmiOIDo un descrittore smiOCTETS, si applicano le regole seguenti:
Per i parametri di input
Poiché l'applicazione WinSNMP alloca la memoria per gli oggetti di input con lunghezze variabili, l'applicazione deve liberare tale memoria usando una funzione appropriata. Ad esempio, se l'applicazione ha allocato le risorse con una chiamata alla funzioneGlobalAlloc, deve usare la funzioneGlobalFreeper deallocare le risorse. Se l'applicazione ha allocato le risorse con una chiamata alla funzioneheapAlloc, deve chiamare la funzione heapFree.
Per i parametri di output
Una chiamata a una delle funzioni seguenti comporta l'allocazione della memoria per un smiOID o un descrittoresmiOCTETS: SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStre SnmpStrToOid.
Poiché l'implementazione alloca la memoria per questi oggetti di output, l'applicazione deve chiamare il SnmpFreeDescriptor funzione per deallocare le risorse. Questa funzione consente all'implementazione di liberare la memoria allocata per il ptr membro di queste strutture.
Per liberare le risorse per una struttura smiVALUE, un'applicazione WinSNMP deve controllare il membro di sintassi di una struttura smiVALUE per valutare correttamente il membro valore della struttura. Se la sintassi membro indica che il valore membro è un smiOCTETS o un descrittore smiOID e l'implementazione allocata le risorse per il descrittore, l'applicazione deve chiamare snmpFreeDescriptor. Ciò consente all'implementazione di liberare la memoria. Se l'applicazione ha allocato le risorse, deve liberare la memoria usando una funzione appropriata, come indicato in precedenza.
Per ulteriori informazioni, vedere Allocare oggetti di memoria WinSNMP.