AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Thema durchsuchen
Ansicht
Themen-Optionen

SNMP : DLL Sample zum Einhängen in Windows SNMP Service

Ein Thema von moelski · begonnen am 18. Feb 2010 · letzter Beitrag vom 27. Nov 2015
Antwort Antwort
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#1

Re: SNMP : DLL Sample zum Einhängen in Windows SNMP Service

  Alt 18. Feb 2010, 11:18
deine Theorie stimmt soweit - das ganze habe ich auch schon mal in die Praxis umgesetzt:

Die DLL exportiert mindestens MSDN-Library durchsuchenSnmpExtensionInit, MSDN-Library durchsuchenSnmpExtensionQuery und MSDN-Library durchsuchenSnmpExtensionTrap und erhält vom Service die Daten per IPC (z.B. Shared Memory), da sie ja dann in den Prozessraum vom SNMP-Dienst geladen wird.

Beim Starten des SNMP-Dienstes ruft derselbe als erstes SnmpExtensionInit auf, so dass die DLL die Basis-OID und den Trap-Event-Handle bekannt geben kann. Sofern vorhanden, wird danach SnmpExtensionInitEx aufgerufen, bis diese False retourniert, so dass zusätzliche Basis-OIDs bekannt gegeben werden können.

Später dann, wenn ein SNMP-Request-PDU vom Netzwerk her den SNMP-Dienst erreicht, und sich die gewünschten OIDs "unterhalb" einer deiner Basis-OIDs befinden, ruft der Dienst SnmpExtensionQuery auf, um von der DLL die entsprechenden Variablen-Werte zu erhalten und sendet diese dann per SNMP zurück zum Client.

Möchte die DLL einen SNMP-Trap absetzen, so wird der Trap-Event gesetzt, worauf der Dienst dann SnmpExtensionTrap der DLL aufruft, bis False retourniert wird, um so alle pendenten Traps "abzuholen".

Besonderes Augenmerk ist auf das Memory-Handling zu richten: teilweise behält die DLL die Verantwortung zum Freigeben von Speicher, teilweise übernimmt dies jedoch auch der SNMP-Dienst. Da der SNMP-Dienst typischerweise lange läuft, sollten Memory-Leaks vermieden werden, da sonst irgendwann das Memory vollläuft.

Die erlaubten Communities/Client-Hosts sowie die Trap-Verteilerliste wird zentral vom SNMP-Dienst verwaltet.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz