![]() |
SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Moin !
Ich muss einen Dienst in die Lage versetzen auf SNMP Anfragen zu reagieren. Nun habe ich erfahren das man sowas über den SNMP Dienst von Windows realisieren kann. Dazu muss man wohl eine DLL erstellen die 3 bestimmte Funktionen exportiert. Diese DLL wird dann wohl in der Registry verankert und kann danach vom SNMP Dienst verwendet werden. Soweit meine Theorie :gruebel: Hat das schon mal jemand gemacht und könnte hier ein Beispiel posten - oder zumindest ein paar Stichwörter in den Raum werfen mit denen man bei Google & Co ggf. weiter kommt? Denn im Moment fehlt mir vollkommen der Ansatz für dieses Szenario :pale: |
Re: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
deine Theorie stimmt soweit - das ganze habe ich auch schon mal in die Praxis umgesetzt:
Die DLL exportiert mindestens ![]() ![]() ![]() 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. |
Re: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Moin !
Wäre es möglich das du mir etwas Quellcode zur Verfügung stellst? |
Re: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Zitat:
|
Re: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Moin !
Ich brauche ja nicht deine ganze Implementierung. Kannst du die DLL nicht auf ein ganz einfaches Beispiel zusammenstrippen? Das würde mir für den Start vollkommen reichen. |
AW: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Hallo,
ich bin auch genau an diesem Punkt (Windows SNMP.dll und den SNMP-Dienst zu nutzen), hat da jemand ein Beispiel oder Seiten im Internet??? Die Suchmaschinen geben leider nichts her. Viele Grüße |
AW: SNMP : DLL Sample zum Einhängen in Windows SNMP Service
Hi ...
gibt es hier neues zu diesem Thema? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 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