Freigeben von WinSNMP-Deskriptoren

Die WinSNMP-Programmierumgebung weist die Zuordnung 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 freizugeben, gelten die folgenden Regeln:

  • Für Eingabeparameter

    Da die WinSNMP-Anwendung den Arbeitsspeicher für Eingabeobjekte mit variablen Längen zuweist, 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 Ressourcen zuzuordnen. 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 Arbeitsspeicher für einen smiOID - oder smiOCTETS-Deskriptor zuweisen kann: SnmpGetVb, SnmpEncodeMsg, SnmpOidCopy, SnmpContextToStr und SnmpStrToOid.

    Da die Implementierung den Arbeitsspeicher für diese Ausgabeobjekte zuweist, muss die Anwendung die SnmpFreeDescriptor-Funktion aufrufen, um die Ressourcen zuzuordnen. Diese Funktion ermöglicht es der Implementierung, den Speicher freizugeben, der dem ptr-Member dieser Strukturen zugeordnet ist.

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

Weitere Informationen finden Sie unter Zuweisen von WinSNMP-Speicherobjekten.