SnmpOidCompare-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 WinSNMP-Funktion SnmpOidCompare vergleicht lexikographisch zwei SNMP-Objektbezeichner, bis zu der vom maxlen-Parameter angegebenen Länge.

Syntax

SNMPAPI_STATUS SNMPAPI_CALL SnmpOidCompare(
  [in]  smiLPCOID xOID,
  [in]  smiLPCOID yOID,
  [in]  smiUINT32 maxlen,
  [out] smiLPINT  result
);

Parameter

[in] xOID

Zeiger auf den ersten zu vergleichenden smiOID-Objektbezeichner . Die Länge des Objektbezeichners kann null sein.

[in] yOID

Zeiger auf den zweiten zu vergleichenden smiOID-Objektbezeichner . Die Länge des Objektbezeichners kann null sein.

[in] maxlen

Wenn nicht gleich 0, gibt die Anzahl der zu vergleichenden Unteridentifizierer an. Dieser Parameter muss kleiner als MAXOBJIDSIZE sein: 128 Unteridentifizierer, die maximale Anzahl von Komponenten in einem Objektbezeichner. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[out] result

Zeiger auf eine ganzzahlige Variable, um das Ergebnis des Vergleichs zu erhalten. Die Variable kann eines der folgenden Ergebnisse erhalten.

Ergebnis Bedeutung
Größer als 0
xOID ist größer als yOID
Gleich 0
xOID entspricht yOID
Kleiner als 0
xOID ist kleiner als yOID
 

Weitere Vergleichsbedingungen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert SNMPAPI_SUCCESS.

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_OID_INVALID
Einer der xOID - und yOID-Parameter ist ungültig.
SNMPAPI_SIZE_INVALID
Der maxlen-Parameter ist ungültig. Die Parametergröße ist größer als MAXOBJIDSIZE.
SNMPAPI_OTHER_ERROR
Es ist ein unbekannter oder nicht definierter Fehler aufgetreten.

Hinweise

Eine WinSNMP-Anwendung kann die SnmpOidCompare-Funktion aufrufen, um zu bestimmen, ob zwei Objektbezeichner über gemeinsame Präfixe verfügen.

Wenn der maxlen-Parameter nicht gleich 0 und nicht größer als MAXOBJIDSIZE ist, legt der Wert von maxlen die Obergrenze für die Anzahl der zu vergleichenden Unteridentifizierer fest. Die maximale Anzahl von Unteridentifizierern, die die SnmpOidCompare-Funktion standardmäßig mit der kleinsten Zahl vergleicht– dem maxlen-Parameter oder dem len-Member einer der smiOID-Strukturen , auf die die Parameter xOID und yOID verweisen.

Wenn der maxlen-Parameter gleich 0 ist, wird die maximale Anzahl von Unteridentifizierern, die die SnmpOidCompare-Funktion vergleicht, standardmäßig mit der Zahl verglichen, die der kleineren der len-Elemente der beiden smiOID-Strukturen entspricht.

Der Wert des results-Parameters gibt an, dass xOID gleich yOID ist, wenn die beiden smiOID-Strukturen lexikographisch gleich sind und eine der folgenden auftritt:

  • SnmpOidCompare vergleicht eine maximale Anzahl von Unteridentifizierern.
  • SnmpOidCompare vergleicht die maximale Anzahl von Unteridentifizierern, und die len-Elemente beider smiOID-Strukturen sind gleich, aber kleiner als der maxlen-Parameter .

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

WinSNMP-Funktionen

Übersicht über winSNMP-API

smiOID