Freigeben über


SnmpOpen-Funktion (winsnmp.h)

[SNMP ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen die Windows-Remoteverwaltung, die Microsoft-Implementierung von WS-Man.]

Die SnmpOpen-Funktion fordert die Microsoft WinSNMP-Implementierung an, eine Sitzung für die WinSNMP-Anwendung zu öffnen. Mit dieser WinSNMP-Funktion kann die Implementierung Arbeitsspeicher, Ressourcen, Datenstrukturen und Kommunikationsmechanismen zuordnen und initialisieren. Die SnmpOpen-Funktion gibt ein Handle an die neue WinSNMP-Sitzung zurück.

Hinweis Beim Entwickeln neuer WinSNMP-Anwendungen empfiehlt es sich, die SnmpCreateSession-Funktion aufzurufen, um eine WinSNMP-Sitzung zu öffnen, anstatt die SnmpOpen-Funktion aufzurufen.
 

Syntax

HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
  [in] HWND hWnd,
  [in] UINT wMsg
);

Parameter

[in] hWnd

Behandeln Sie ein Fenster der WinSNMP-Anwendung, um zu benachrichtigen, wenn eine asynchrone Anforderung abgeschlossen ist oder wenn eine Trapbenachrichtigung auftritt.

[in] wMsg

Gibt eine ganze Zahl ohne Vorzeichen an, die die Benachrichtigung identifiziert, die an das WinSNMP-Anwendungsfenster gesendet werden soll.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle, das die WinSNMP-Sitzung identifiziert, die die Implementierung für die aufrufende Anwendung öffnet.

Wenn die Funktion fehlschlägt, wird der Rückgabewert SNMPAPI_FAILURE. Rufen Sie SnmpGetLastError auf, um erweiterte Fehlerinformationen zu erhalten, und geben Sie einen NULL-Wert im Sitzungsparameter an. Die SnmpGetLastError-Funktion kann einen der folgenden Fehler zurückgeben.

Rückgabecode Beschreibung
SNMPAPI_NOT_INITIALIZED
Die SnmpStartup-Funktion wurde nicht erfolgreich abgeschlossen.
SNMPAPI_ALLOC_ERROR
Während der Speicherbelegung ist ein Fehler aufgetreten.
SNMPAPI_HWND_INVALID
Der hWnd-Parameter ist kein gültiges Fensterhandle.
SNMPAPI_OTHER_ERROR
Es ist ein unbekannter oder nicht definierter Fehler aufgetreten.

Hinweise

Die SnmpOpen-Funktion gibt ein eindeutiges Handle für jede geöffnete WinSNMP-Sitzung in der aufrufenden WinSNMP-Anwendung zurück. Die Anwendung muss das Sitzungshandle verwenden, das SnmpOpen in anderen WinSNMP-Funktionsaufrufen zurückgibt, um die Zuordnung und Freigabe von Ressourcen durch die Implementierung zu erleichtern. Wenn die Implementierung Ressourcen einer einzelnen Sitzung zuordnet, führt sie eine geordnete Freigabe der Ressourcen als Reaktion auf einen Aufruf von SnmpClose für die Sitzung durch.

Die SnmpOpen-Funktion übergibt an die Implementierung das Handle an ein Anwendungsfenster und einen Benachrichtigungsbezeichner. Wenn die wParam-Komponente der durch den wMsg-Parameter angegebenen Benachrichtigung gleich 0 ist, muss die WinSNMP-Anwendung die eingehende Protokolldateneinheit (PDU) abrufen. Die Anwendung ruft dazu die SnmpRecvMsg-Funktion mit dem von SnmpOpen zurückgegebenen Sitzungshandle auf. Wenn der wParam-Parameter der Benachrichtigung nicht gleich 0 ist, stellt er einen WinSNMP-Fehlercode dar. Der Fehlercode gilt für die PDU, die durch den Anforderungsbezeichner im lParam-Parameter der Benachrichtigungsnachricht identifiziert wird.

Eine WinSNMP-Anwendung kann mehrere WinSNMP-Sitzungen öffnen. Wenn eine Anwendung mehrere Sitzungen mit demselben Fensterhandle öffnet, wird empfohlen, dass die WinSNMP-Anwendung einen eindeutigen wMsg-Parameter für jede Sitzung angibt.

Es wird empfohlen, dass eine WinSNMP-Anwendung die SnmpClose-Funktion einmal für jede Sitzung aufruft, die die Implementierung als Ergebnis eines Aufrufs der SnmpOpen-Funktion öffnet. Wenn eine WinSNMP-Anwendung unerwartet beendet wird, muss sie SnmpCleanup aufrufen, bevor sie beendet wird, damit die Implementierung die Zuordnung aller Ressourcen aufheben kann. Die Implementierung behandelt einen SnmpCleanup-Aufruf , als ob es sich um eine Reihe von SnmpClose-Aufrufen handelt, einen Aufruf für jede Sitzung, die die Implementierung als Ergebnis eines Aufrufs von SnmpOpen öffnet.

Informationen zum Öffnen einer WinSNMP-Sitzung und zum Angeben der Methode, die verwendet wird, um die Sitzung über verfügbare SNMP-Nachrichten und asynchrone Ereignisse zu informieren, finden Sie unter SnmpCreateSession. Wenn Sie SnmpCreateSession aufrufen, können Sie eine Fensterbenachrichtigung oder eine SNMPAPI_CALLBACK-Funktion angeben, um die Sitzung zu benachrichtigen.

Weitere Informationen finden Sie unter WinSNMP-Sitzungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winsnmp.h
Bibliothek Wsnmp32.lib
DLL Wsnmp32.dll

Weitere Informationen

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

WinSNMP-Funktionen

Übersicht über winSNMP-API