SnmpCleanupEx 関数 (winsnmp.h)
[SNMP は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
SnmpCleanupEx 関数は、Windows SNMP (WinSNMP) アプリケーション内で SnmpStartup または SnmpStartupEx への未処理の正常な呼び出しがない場合にクリーンアップを実行します。 それ以外の場合は、 SnmpStartupEx への未処理の正常な呼び出しの現在の数を示す内部参照カウントがデクリメントされます。
Windows Server 2003 Service Pack 1 (SP1) 以降がインストールされている場合は、 SnmpCleanup の代わりにこの関数を使用する必要があります。 SnmpCleanupEx を使用すると、同じアプリケーション内で WinSNMP を使用する複数の独立したソフトウェア モジュールをサポートできます。
構文
SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx();
戻り値
関数が成功した場合、戻り値はSNMPAPI_SUCCESS。 WinSNMP アプリケーションが対応する SnmpStartupEx 関数を正常に呼び出し、 SnmpStartup または SnmpStartupEx への未処理の正常な呼び出しが追加されないまで、同じアプリケーション内の WinSNMP 関数に対する他の呼び出しでは、SNMPAPI_FAILUREが返され、SNMPAPI_NOT_INITIALIZEDの拡張エラー コードが返されます。
関数が失敗した場合、戻り値はSNMPAPI_FAILUREされますが、WinSNMP アプリケーションは SnmpCleanupEx の呼び出しを再試行する必要はありません。 拡張エラー情報を取得するには、セッション パラメーターに NULL 値を指定して SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。
リターン コード | 説明 |
---|---|
|
メモリ割り当て中にエラーが発生しました。 |
|
SnmpStartupEx 関数が正常に完了しなかったか、不明または未定義のエラーが発生しました。 |
解説
WinSNMP アプリケーションが SnmpCleanupEx を呼び出す前に、SnmpCreateSession 関数の呼び出しの結果として実装が開かれるセッションごとに SnmpClose 関数を 1 回呼び出す必要があります。
WinSNMP アプリケーションが SnmpCleanupEx 関数を呼び出すと、 SnmpStartup または SnmpStartupEx への未処理の正常な呼び出しがない場合、実装はアプリケーションに割り当てられたすべてのリソースの割り当てを解除します。 ただし、WinSNMP アプリケーションでは、リソースに対応する WinSNMP 関数を使用して、実装によって割り当てられる特定のリソースを解放することをお勧めします。 個々のリソースの解放の詳細については、「 SnmpFreeEntity、 SnmpFreeVbl、 SnmpFreeDescriptor、 SnmpFreeContext、 SnmpFreePdu」を参照してください。
WinSNMP アプリケーションが非常終了を実行する必要があり、個々のリソースを解放せずに SnmpCleanupEx を 呼び出し、開いているセッションごとに SnmpClose を 呼び出さない場合、実装は WinSNMP アプリケーションに割り当てられたすべてのリソースの割り当てを解除します。 ただし、実装でこの機能を有効にするには、アプリケーションで SnmpCleanupEx を呼び出す必要があります。
アプリケーション DLL がアンロード処理中の場合は、SnmpCleanupEx を呼び出す必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winsnmp.h |
Library | Wsnmp32.lib |
[DLL] | Wsnmp32.dll |