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 |
---|---|
|
xOID ist größer als yOID |
|
xOID entspricht yOID |
|
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 |
---|---|
|
Die SnmpStartup-Funktion wurde nicht erfolgreich abgeschlossen. |
|
Während der Speicherbelegung ist ein Fehler aufgetreten. |
|
Einer der xOID - und yOID-Parameter ist ungültig. |
|
Der maxlen-Parameter ist ungültig. Die Parametergröße ist größer als MAXOBJIDSIZE. |
|
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 |