次の方法で共有


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 関数は、次のいずれかのエラーを返すことができます。

リターン コード 説明
SNMPAPI_NOT_INITIALIZED
SnmpStartup 関数が正常に完了しませんでした。
SNMPAPI_ALLOC_ERROR
メモリ割り当て中にエラーが発生しました。
SNMPAPI_INDEX_INVALID
index パラメーターが無効です。
SNMPAPI_VBL_INVALID
vbl パラメーターが無効です。
SNMPAPI_OTHER_ERROR
不明または未定義のエラーが発生しました。

解説

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 パラメーターに使用する有効な値を次に示します。

要件

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

関連項目

SnmpCountVbl

SnmpFreeVbl

SnmpRecvMsg

WinSNMP 関数

WinSNMP API の概要