SnmpCreatePdu 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
WinSNMP SnmpCreatePdu 関数は、SNMP プロトコル データ ユニット (PDU) を作成して初期化します。
構文
HSNMP_PDU SNMPAPI_CALL SnmpCreatePdu(
[in] HSNMP_SESSION session,
[in] smiINT PDU_type,
[in] smiINT32 request_id,
[in] smiINT error_status,
[in] smiINT error_index,
[in] HSNMP_VBL varbindlist
);
パラメーター
[in] session
WinSNMP セッションを処理します。
[in] PDU_type
SNMP 操作を識別する PDU タイプを指定します。 このパラメーターには NULL を指定することも、次のいずれかの値を指定することもできます。 このパラメーターが NULL の場合、Microsoft WinSNMP 実装は既定の PDU の種類SNMP_PDU_GETNEXTを提供します。 SnmpCreatePdu 関数の呼び出しで作成できるトラップ PDU の唯一の種類は、SNMPv2C トラップ PDU です。
[in] request_id
WinSNMP アプリケーションが PDU を識別するために提供する一意の数値を指定します。 このパラメーターが NULL の場合、実装によって値が割り当てられます。
[in] error_status
PDU_type パラメーターが SNMP_PDU_GETBULK と等しい場合、このパラメーターは PDU の non_repeaters フィールドの値を指定します。 他の PDU タイプの場合、このパラメーターは PDU の error_status フィールドの値を指定します。 このパラメーターは、NULL でもかまいません。
[in] error_index
PDU_type パラメーターが SNMP_PDU_GETBULK と等しい場合、このパラメーターは PDU のmax_repetitions フィールドの値を指定します。 他の PDU タイプの場合、このパラメーターは PDU の error_index フィールドの値を指定します。 このパラメーターは、NULL でもかまいません。
[in] varbindlist
SNMP 変数バインド リストを表す構造体を処理します。 このパラメーターは、NULL でもかまいません。
戻り値
関数が成功した場合、戻り値は新しい SNMP PDU へのハンドルです。
関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
セッション ハンドルが無効です。 |
|
PDU の種類が無効です。 |
|
変数バインドの一覧が無効です。 |
|
不明または未定義のエラーが発生しました。 |
注釈
WinSNMP アプリケーションは、 SnmpSendMsg または SnmpEncodeMsg 関数を呼び出す前に PDU を 作成する必要があります。
SnmpCreatePdu 関数のすべてのパラメーターが必要です。 ただし、 セッション パラメーターを除くすべてのパラメーターは NULL にすることができます。 この場合、新しい PDU の既定値は次のとおりです。
フィールド | 内容 |
---|---|
PDU_type | SNMP_PDU_GETNEXT |
request_id | 実装では数値が生成されます。 |
error_status | SNMP_ERROR_NOERROR |
error_index | 0 |
varbindlist | NULL |
アプリケーションは 、SnmpFreePdu 関数を呼び出して、 SnmpCreatePdu 関数が新しい PDU に割り当てるリソースを解放する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |