次の方法で共有


SnmpFreeVbl 関数 (winsnmp.h)

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

WinSNMP SnmpFreeVbl 関数は、変数バインド リストに関連付けられているリソースを解放します。 これらは、WinSNMP アプリケーションの SnmpCreateVbl 関数または SnmpDuplicateVbl 関数の呼び出しによって以前に割り当てられたリソースです。

構文

SNMPAPI_STATUS SNMPAPI_CALL SnmpFreeVbl(
  [in] HSNMP_VBL vbl
);

パラメーター

[in] vbl

解放する変数バインド リストを処理します。

戻り値

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

関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、セッション パラメーターに NULL 値を指定して SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。

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

解説

WinSNMP アプリケーションは、各変数バインド リストに関連付けられているリソースを解放する必要があります。 これを行うには、 SnmpCreateVbl 関数と SnmpDuplicateVbl 関数の各呼び出しを SnmpFreeVbl 関数の対応する呼び出しと照合します。 メモリ リークを回避するには、WinSNMP アプリケーションが SnmpCreateVbl または SnmpDuplicateVbl の後続の呼び出しで変数バインド リストへのハンドルを再利用する前に、SnmpFreeVbl を呼び出す必要があります。

アプリケーションが SnmpClose または SnmpCleanup 関数を呼び出す場合、Microsoft WinSNMP 実装は WinSNMP セッションに割り当てるすべてのリソースを解放します。 ただし、アプリケーションが変数バインディング リスト ハンドルを再利用しない場合でも、 SnmpFreeVbl 関数を使用して個々の変数バインドリソースを解放することをお勧めします。 これにより、実装の作業負荷が軽減され、すべてのアプリケーションに対するサービスを強化する必要があります。 詳細については、「WinSNMP データ管理の概念」を参照してください。

要件

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

関連項目

SnmpCleanup

SnmpClose

SnmpCreateVbl

SnmpDuplicateVbl

WinSNMP 関数

WinSNMP API の概要