SnmpExtensionQueryEx-Funktion (snmp.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.]
Der Microsoft SNMP-Dienst ruft die SnmpExtensionQueryEx-Funktion auf, um SNMP-Anforderungen zu verarbeiten, die Variablen in einer oder mehreren MIB-Unterstrukturen angeben, die von SNMP-Erweiterungs-Agents registriert sind. Diese Funktion ist ein Element der SNMP-Erweiterungs-Agent-API.
Syntax
BOOL SNMP_FUNC_TYPE SnmpExtensionQueryEx(
[in] UINT nRequestType,
[in] UINT nTransactionId,
[in, out] SnmpVarBindList *pVarBindList,
[in, out] AsnOctetString *pContextInfo,
[out] AsnInteger32 *pErrorStatus,
[out] AsnInteger32 *pErrorIndex
);
Parameter
[in] nRequestType
Gibt den Typ des Vorgangs an, zu dem der SNMP-Dienst den Erweiterungs-Agent anfordert. Dieser Parameter kann einen der folgenden Werte annehmen.
Weitere Informationen zu den SET-Anforderungstypen, d. h. zu denen, die mit SNMP_EXTENSION_SET_ beginnen, finden Sie im folgenden Abschnitt Hinweise.
[in] nTransactionId
Gibt eine DWORD-Variable an, die den eindeutigen Bezeichner der eingehenden SNMP-Anforderungs-PDU darstellt. Der Erweiterungs-Agent kann diesen Wert verwenden, um mehrere Aufrufe des SNMP-Diensts zu korrelieren, die dieselbe PDU umfassen.
[in, out] pVarBindList
Zeiger auf die Variablenbindungsliste, die die relevanten Variablen enthält.
[in, out] pContextInfo
Zeiger auf eine Oktettzeichenfolge, die benutzerdefinierte Kontextinformationen enthält.
Der Erweiterungs-Agent kann diesen Parameter verwenden, um Kontextinformationen zu speichern, die bei mehrstufigen SNMP-SET-Vorgängen verwendet werden. Der Erweiterungs-Agent muss ressourcen freigeben, die diesem Parameter während der CLEANUP-Anforderung zugeordnet sind. Der SNMP-Dienst gibt keine Ressourcen frei, die diesem Parameter zugeordnet sind. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
[out] pErrorStatus
Zeiger auf eine Variable, um den Fehler status Ergebnis zu erhalten. Dieser Parameter kann einer der folgenden Werte sein, die von SNMPv2C definiert werden.
[out] pErrorIndex
Zeiger auf eine Variable zum Empfangen des Fehlerindexergebnisses.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE.
Hinweise
Der SNMP-Dienst ruft die SnmpExtensionQueryEx-Funktion mehrmals auf, um eine eingehende SNMP SET-Anforderung zu verarbeiten. Der Dienst kann SnmpExtensionQueryExex während der TEST-Anforderungsphase, der COMMIT-Anforderungsphase, der UNDO-Anforderungsphase und der CLEANUP-Anforderungsphase aufrufen.
TEST-Anforderung
Der SNMP-Dienst verarbeitet einen SNMP SET-Anforderungstyp, indem er zuerst die SnmpExtensionQueryEx-Funktion mit einem dwRequestType-Wert von SNMP_EXTENSION_SET_TEST aufruft. Der Dienst ruft jeden Erweiterungs-Agent auf, der für die Variablenbindungen in der Anforderung verantwortlich ist. Jeder Erweiterungs-Agent muss die Variablen in der Variablenbindungsliste überprüfen. Sie können optional alle Kontextinformationen speichern, die für die folgenden Anforderungen in der Variablen erforderlich sind, auf die der Parameter pContextInfo verweist.Wenn die TEST-Anforderung fehlschlägt, initiiert der Dienst eine CLEANUP-Anforderung. Der Dienst ruft jeden Erweiterungs-Agent, der zuvor TRUE an die TEST-Anforderung zurückgegeben hat, erneut mit der SnmpExtensionQueryEx-Funktion auf. Der Dienst ruft jeden Erweiterungs-Agent mithilfe des SNMP_EXTENSION_SET_CLEANUP dwRequestType auf.
COMMIT-Anforderung
Wenn alle Erweiterungs-Agents TRUE an die TEST-Anforderung zurückgeben, ruft der SNMP-Dienst jeden Erweiterungs-Agent mit der SnmpExtensionQueryEx-Funktion unter Verwendung des SNMP_EXTENSION_SET_COMMIT dwRequestType auf. Der Dienst kehrt an die Kontextinformationen des Erweiterungs-Agents zurück, die der Erweiterungs-Agent an den Dienst übergeben hat. Dies sind die Kontextinformationen, die der Erweiterungs-Agent im pContextInfo-Parameter während der TEST-Anforderung übergeben hat. Der Erweiterungs-Agent kann die Kontextinformationen verwenden, um die Werte der angegebenen Variablen auf instrumentsspezifische Weise zu aktualisieren.Wenn der Erweiterungs-Agent die Rollbackverarbeitung unterstützt, kann er die Kontextinformationen im pContextInfo-Parameter zu diesem Zeitpunkt aktualisieren. Der SNMP-Dienst übergibt die Informationen während der UNDO-Anforderung an den Erweiterungs-Agent.
Wenn alle Erweiterungs-Agents TRUE an die COMMIT-Anforderung zurückgeben, ruft der Dienst jeden Erweiterungs-Agent mit der SnmpExtensionQueryEx-Funktion unter Verwendung des SNMP_EXTENSION_SET_CLEANUP dwRequestType auf.
Wenn ein Erweiterungs-Agent die COMMIT-Anforderung fehlschlägt, initiiert der Dienst auch eine CLEANUP-Anforderung. Der Dienst ruft jeden Erweiterungs-Agent, der zuvor TRUE an die COMMIT-Anforderung zurückgegeben hat, erneut mit der SnmpExtensionQueryEx-Funktion auf. Der Dienst ruft jeden Erweiterungs-Agent mithilfe des SNMP_EXTENSION_SET_CLEANUP dwRequestType auf.
CLEANUP-Anforderung
Der Dienst gibt die Kontextinformationen, die während der TEST- oder COMMIT-Anforderung im pContextInfo-Parameter übergeben wurden, an den Erweiterungs-Agent zurück. Der Erweiterungs-Agent muss die dem Parameter zugeordneten Ressourcen zu diesem Zeitpunkt freigeben.UNDO-Anforderung
Wenn ein Erweiterungs-Agent FALSE an die COMMIT-Anforderung zurückgibt, beendet der SNMP-Dienst die COMMIT-Anforderung. Der Dienst ruft jeden Erweiterungs-Agent, der TRUE an die COMMIT-Anforderung zurückgegeben hat, mit einem dwRequestType-Wert von SNMP_EXTENSION_SET_UNDO auf. Dies signalisiert den Erweiterungs-Agents, dass bei der COMMIT-Anforderung ein Fehler aufgetreten ist, und sie müssen die Rollbackverarbeitung initiieren.Die Erweiterungs-Agents müssen versuchen, die Werte der relevanten Variablen auf die Werte zurückzusetzen, die sie vor dem Fehler bei der COMMIT-Anforderung waren. Dazu verwenden die Erweiterungs-Agents die Kontextinformationen, die im pContextInfo-Parameter während der COMMIT-Anforderung zurückgegeben wurden.
Wenn ein Erweiterungs-Agent FALSE an die UNDO-Anforderung zurückgibt, schlägt der gesamte SET-Vorgang mit dem Fehlercode SNMP_ERRORSTATUS_UNDOFAILED fehl. Wenn alle Erweiterungs-Agents TRUE an die UNDO-Anforderung zurückgeben, schlägt der SNMP SET-Vorgang mit dem Fehlercode fehl, der vom Erweiterungs-Agent festgelegt wurde, der die COMMIT-Anforderung fehlgeschlagen hat.
Nach der UNDO-Anforderung ruft der Dienst immer jeden Erweiterungs-Agent mit der SnmpExtensionQueryEx-Funktion auf, wobei der SNMP_EXTENSION_SET_CLEANUP dwRequestType verwendet wird.
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 | snmp.h |