SnmpDeleteVb 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
WinSNMP SnmpDeleteVb 関数は、変数バインド リストから変数バインド エントリを削除します。
構文
SNMPAPI_STATUS SNMPAPI_CALL SnmpDeleteVb(
[in] HSNMP_VBL vbl,
[in] smiUINT32 index
);
パラメーター
[in] vbl
更新する変数バインド の一覧を処理します。
[in] index
削除する変数バインド エントリを識別する符号なし長整数変数を指定します。 この変数には、変数バインド リスト内の変数バインド エントリの位置が含まれます。
このパラメーターの有効な値は 1 から n の範囲です。1 は変数バインド リストの最初の変数バインド エントリを示し、n は変数バインド リスト内のエントリの合計数です。 詳細については、次の「解説」セクションを参照してください。
戻り値
関数が成功した場合、戻り値はSNMPAPI_SUCCESS。
関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、 SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
SnmpStartup 関数が正常に完了しませんでした。 |
|
メモリ割り当て中にエラーが発生しました。 |
|
index パラメーターが無効です。 |
|
vbl パラメーターが無効です。 |
|
不明または未定義のエラーが発生しました。 |
解説
WinSNMP アプリケーションでは、 SnmpDeleteVb 関数を使用して、無効な変数バインド エントリを削除できます。 SNMP_PDU_RESPONSE プロトコル データ ユニット (PDU) に無効な変数バインド エントリを示すエラーが含まれている場合、アプリケーションは SnmpDeleteVb を呼び出してエントリを削除できます。 その後、アプリケーションは SnmpSendMsg 関数の呼び出しを使用して要求 PDU を再送信できます。変数バインド リストに無効な変数バインド エントリはありません。 要求 PPDU には、SNMP_PDU_GET、SNMP_PDU_GETNEXT、SNMP_PDU_GETBULK PDU データ型が含まれます。
SnmpDeleteVb 関数が変数バインド エントリを削除すると、削除されたエントリの後のすべてのエントリのインデックス値が 1 ずつデクリメントされます。 SnmpCountVbl 関数を呼び出すと、変数バインド リスト内の新しいエントリの合計数が返されます。 新しい合計は、SnmpDeleteVb への現在の呼び出しの前に SnmpCountVbl の呼び出しによって返された数より 1 小さい値です。
WinSNMP アプリケーションが SnmpDeleteVb 関数を呼び出し、変数バインド リストの最後の変数バインド エントリを削除した場合、結果は空の変数バインド リストになります。 変数バインド リストには有効なハンドルが残っており、WinSNMP アプリケーションは SnmpFreeVbl 関数を呼び出してハンドルを解放する必要があります。
index パラメーターに使用する有効な値を次に示します。
- SnmpCountVbl 関数の呼び出しからの戻り値
- SnmpRecvMsg 関数の呼び出しによって返されるSNMP_PDU_RESPONSE PDU のエラー インデックス フィールド
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |