Freigeben von WinSNMP-Deskriptoren

Die WinSNMP-Programmierumgebung weist die Freigabe von Deskriptorressourcen der WinSNMP-Implementierung oder der WinSNMP-Anwendung zu, je nachdem, welche Komponente den Arbeitsspeicher für den Deskriptor zuweist.

Um die Ressourcen für einen smiOID- oder smiOCTETS-Deskriptor frei zu machen, gelten die folgenden Regeln:

  • Für Eingabeparameter

    Da die WinSNMP-Anwendung den Arbeitsspeicher für Eingabeobjekte mit variabler Länge zuordnet, muss die Anwendung diesen Arbeitsspeicher mithilfe einer entsprechenden Funktion freigeben. Wenn die Anwendung beispielsweise die Ressourcen mit einem Aufruf der GlobalAlloc-Funktion zugeordnet hat, sollte sie die GlobalFree-Funktion verwenden, um die Zuordnung der Ressourcen freizugeben. Wenn die Anwendung die Ressourcen mit einem Aufruf der HeapAlloc-Funktion zugeordnet hat, sollte sie die HeapFree-Funktion aufrufen.

  • Für Ausgabeparameter

    Ein Aufruf einer der folgenden Funktionen führt dazu, dass die Implementierung Speicher für einen smiOID- oder smiOCTETS-Deskriptor zuweise: SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStrund SnmpStrToOid.

    Da die Implementierung den Arbeitsspeicher für diese Ausgabeobjekte zuordnet, muss die Anwendung die SnmpFreeDescriptor-Funktion aufrufen, um die Zuordnung der Ressourcen freizugeben. Mit dieser Funktion kann die Implementierung den Arbeitsspeicher freigeben, der dem ptr-Member dieser Strukturen zugeordnet ist.

Um die Ressourcen für eine smiVALUE-Struktur frei zu machen, muss eine WinSNMP-Anwendung den Syntaxmember einer smiVALUE-Struktur überprüfen, um den Wertmember der Struktur ordnungsgemäß auszuwerten. Wenn der Syntaxmember angibt, dass der Wertmember ein smiOCTETS- oder smiOID-Deskriptor ist und die Implementierung die Ressourcen für den Deskriptor zugeordnet hat, muss die Anwendung SnmpFreeDescriptoraufrufen. Dadurch kann die Implementierung den Arbeitsspeicher freigeben. Wenn die Anwendung die Ressourcen zugeordnet hat, muss sie den Arbeitsspeicher mithilfe einer entsprechenden Funktion freigeben, wie zuvor angegeben.

Weitere Informationen finden Sie unter Zuordnen von WinSNMP-Speicherobjekten.