Share via


SnmpMgrRequest 関数 (mgmtapi.h)

[SNMP は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。

SnmpMgrRequest 関数は、指定したエージェントで指定した操作を実行する要求を行います。 この関数は、SNMP Management API の要素です。

構文

SNMPAPI SNMP_FUNC_TYPE SnmpMgrRequest(
  [in]      LPSNMP_MGR_SESSION session,
  [in]      BYTE               requestType,
  [in, out] RFC1157VarBindList *variableBindings,
  [out]     AsnInteger         *errorStatus,
  [out]     AsnInteger         *errorIndex
);

パラメーター

[in] session

要求を実行するセッションを指定する内部構造体へのポインター。

アプリケーションでは、この関数によって返される LPSNMP_MGR_SESSION ポインターを別のスレッドで指定しないでください。 SnmpMgrOpen によって返されるポインターを指定できますが、SnmpMgrOpenSnmpMgrRequest の呼び出しが同じスレッドのコンテキストで発生した場合にのみ指定できます。

[in] requestType

SNMP 要求の種類を指定します。 このパラメーターには、SNMPv1 で定義されている次のいずれかの値を指定できます。

意味
SNMP_PDU_GET
指定した変数の値を取得します。
SNMP_PDU_GETNEXT
指定した変数の辞書式後続の値または値を取得します。
SNMP_PDU_SET
特定の変数内に値を書き込みます。
 

PDU 要求の種類の名前が変更されていることに注意してください。 詳細については、「 SNMP 変数の種類」および「PDU の種類の要求」を参照してください

[in, out] variableBindings

変数バインド リストへのポインター。

メモSnmpVarBindList 構造体が指す SnmpVarBind 配列は、SnmpUtilMemAlloc 関数を使用して割り当てる必要があります。
 

[out] errorStatus

エラー状態の結果が返される変数へのポインター。 このパラメーターには、SNMPv1 で定義されている次のいずれかの値を指定できます。

意味
SNMP_ERRORSTATUS_NOERROR
エージェントは、送信中にエラーが発生しなかったことを報告します。
SNMP_ERRORSTATUS_TOOBIG
エージェントは、要求された操作の結果を 1 つの SNMP メッセージに配置できませんでした。
SNMP_ERRORSTATUS_NOSUCHNAME
要求された操作で、不明な変数が識別されました。
SNMP_ERRORSTATUS_BADVALUE
要求された操作で変数を変更しようとしましたが、構文または値のエラーを指定しました。
SNMP_ERRORSTATUS_READONLY
要求された操作で、変数のコミュニティ プロファイルに従って変更が許可されていない変数を変更しようとしました。
SNMP_ERRORSTATUS_GENERR
要求された操作中に、ここに記載されているエラーの 1 つ以外のエラーが発生しました。

[out] errorIndex

エラー インデックスの結果が返される変数へのポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、返される値は NULL です。 拡張エラー情報を取得するには、 GetLastError を呼び出します。これは、次のいずれかのエラー コードを返す場合があります。

リターン コード 説明
SNMP_MGMTAPI_TIMEOUT
要求がタイムアウトしました。
SNMP_MGMTAPI_SELECT_FDERRORS
Windows ソケット 選択 関数によって示される予期しないエラー ファイル記述子。

注釈

再試行とタイムアウトは、 SnmpMgrOpen 関数に提供されます。 変数バインド リスト内の各変数は、Get 要求と Get Next 要求ASN_NULL型に初期化する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mgmtapi.h
Library Mgmtapi.lib
[DLL] Mgmtapi.dll

こちらもご覧ください

SNMP 関数

簡易ネットワーク管理プロトコル (SNMP) の概要

SnmpMgrClose

SnmpMgrOpen