次の方法で共有


SnmpCleanup 関数 (winsnmp.h)

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

SnmpCleanup 関数は、呼び出し元の WinSNMP アプリケーションで実装のサービスが不要になったことを Microsoft WinSNMP 実装に通知します。

メモ WinSNMP アプリケーションは、終了する前に 、SnmpCleanup 関数を最後の WinSNMP 関数として呼び出す必要があります。
 

構文

SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanup();

戻り値

関数が成功した場合、戻り値はSNMPAPI_SUCCESS。 WinSNMP アプリケーションが SnmpStartup 関数を正常に呼び出すまで、WinSNMP 関数を他に呼び出すと、SNMPAPI_FAILUREが返され、拡張エラー コードがSNMPAPI_NOT_INITIALIZED。

関数が失敗した場合、戻り値はSNMPAPI_FAILUREされますが、WinSNMP アプリケーションは SnmpCleanup の呼び出しを再試行する必要はありません。 拡張エラー情報を取得するには、セッション パラメーターに NULL 値を指定して SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。

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

解説

WinSNMP アプリケーションが SnmpCleanup を呼び出す前に、SnmpCreateSession 関数の呼び出しの結果として実装が開かれるセッションごとに SnmpClose 関数を 1 回呼び出す必要があります。

WinSNMP アプリケーションが SnmpCleanup 関数を呼び出すと、実装によって、アプリケーションに割り当てられているすべてのリソースの割り当てが解除されます。 ただし、WinSNMP アプリケーションでは、リソースに対応する WinSNMP 関数を使用して、実装によって割り当てられる特定のリソースを解放することをお勧めします。 個々のリソースの解放の詳細については、「 SnmpFreeEntitySnmpFreeVblSnmpFreeDescriptorSnmpFreeContextおよび SnmpFreePdu」を参照してください。

WinSNMP アプリケーションが非常終了を実行する必要があり、個々のリソースを解放せずに SnmpCleanup を呼び出し、開いているセッションごとに SnmpClose を呼び出さない場合、実装は WinSNMP アプリケーションに割り当てられているすべてのリソースの割り当てを解除します。 ただし、実装でこの機能を有効にするには、アプリケーションで SnmpCleanup を呼び出す必要があります。

アプリケーション DLL がアンロード処理中の場合は、SnmpCleanup を呼び出さないでください。

要件

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

関連項目

SnmpClose

SnmpCreateSession

SnmpFreeContext

SnmpFreeDescriptor

SnmpFreeEntity

SnmpFreePdu

SnmpFreeVbl

SnmpStartup

WinSNMP 関数

WinSNMP API の概要