次の方法で共有


SnmpSetPduData 関数 (winsnmp.h)

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

WinSNMP SnmpSetPduData 関数は、指定された SNMP プロトコル データ ユニット (PDU) 内の選択したデータ フィールドを更新します。

構文

SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPduData(
  [in] HSNMP_PDU       PDU,
  [in] const smiINT    *PDU_type,
  [in] const smiINT32  *request_id,
  [in] const smiINT    *non_repeaters,
  [in] const smiINT    *max_repetitions,
  [in] const HSNMP_VBL *varbindlist
);

パラメーター

[in] PDU

SNMP PDU へのハンドル。

[in] PDU_type

指定した PDU の PDU_type フィールドを更新する値を持つ変数へのポインター。 このパラメーターには NULL を指定することもできます。

[in] request_id

指定した PDU の request_id フィールドを更新する値を持つ変数へのポインター。 このパラメーターには NULL を指定することもできます。

[in] non_repeaters

PDU_type パラメーターが SNMP_PDU_GETBULK と等しい場合、このパラメーターは、指定された PDU のnon_repeaters フィールドを更新する値を持つ変数を指します。 Microsoft WinSNMP の実装では、他の PDU タイプの場合、このパラメーターは無視されます。 このパラメーターには NULL を指定することもできます。

[in] max_repetitions

PDU_type パラメーターが SNMP_PDU_GETBULK と等しい場合、このパラメーターは、指定された PDU のmax_repetitions フィールドを更新する値を持つ変数を指します。 実装では、他の PDU 型の場合、このパラメーターは無視されます。 このパラメーターには NULL を指定することもできます。

[in] varbindlist

指定した PDU の変数バインド リスト フィールドへのハンドルを更新する値を持つ変数へのポインター。 このパラメーターには NULL を指定することもできます。

戻り値

関数が成功した場合、戻り値はSNMPAPI_SUCCESS。

関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。

リターン コード 説明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 関数が正常に完了しませんでした。
SNMPAPI_ALLOC_ERROR
メモリ割り当て中にエラーが発生しました。
SNMPAPI_PDU_INVALID
PDU の種類が無効です。
SNMPAPI_VBL_INVALID
変数バインドの一覧が無効です。
SNMPAPI_NOOP
すべての入力パラメーターは NULL です。 SNMP 操作が実行されませんでした。
SNMPAPI_OTHER_ERROR
不明または未定義のエラーが発生しました。

解説

SnmpSetPduData 関数のすべてのパラメーターが必要です。 ただし、 PDU パラメーターを除くすべてのパラメーターは NULL にすることができます。 WinSNMP アプリケーションがパラメーターに NULL を 渡した場合、 SnmpSetPduData は PDU 内の対応するフィールドを更新しません。 SnmpSetPduData はパラメーターを値へのポインターとして渡すので、アプリケーションは引き続き NULL で PDU フィールドを更新できます。

1 つの PDU フィールドの値は単独で有効ですが、他のフィールドの値と組み合わせて無効にすることができます。 この実装では、アプリケーションが SnmpSendMsg または SnmpEncodeMsg 関数を呼び出すときに、PDU とその他のメッセージ要素 検証します。 この実装では、無効な PDU が拒否されます。

SnmpSetPduData 関数の呼び出しで更新できるトラップ PDU の種類は、SNMPv2C トラップ PDU のみです。

要件

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

関連項目

SnmpEncodeMsg

SnmpSendMsg

WinSNMP 関数

WinSNMP API の概要