次の方法で共有


SnmpStartupEx 関数 (winsnmp.h)

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

SnmpStartupEx 関数は、WinSNMP アプリケーションに実装のサービスが必要であることを Microsoft WinSNMP 実装に通知します。 WinSNMP SnmpStartupEx 関数を使用すると、実装を初期化し、Windows SNMP アプリケーション プログラミング インターフェイス (WinSNMP API) のバージョン、実装でサポートされる SNMP 通信のレベル、実装の既定の変換モードと再送信モードをアプリケーションに戻します。

Windows Server 2003 Service Pack 1 (SP1) 以降がインストールされている場合は、 SnmpStartup の代わりにこの関数を使用する必要があります。 SnmpStartupEx を使用すると、同じアプリケーション内で WinSNMP を使用する複数の独立したソフトウェア モジュールをサポートできます。

メモ WinSNMP アプリケーションは、他の WinSNMP 関数を呼び出す前に 、SnmpStartupEx 関数を正常に呼び出す必要があります。
 

構文

SNMPAPI_STATUS SNMPAPI_CALL SnmpStartupEx(
  [out] smiLPUINT32 nMajorVersion,
  [out] smiLPUINT32 nMinorVersion,
  [out] smiLPUINT32 nLevel,
  [out] smiLPUINT32 nTranslateMode,
  [out] smiLPUINT32 nRetransmitMode
);

パラメーター

[out] nMajorVersion

実装でサポートされている WinSNMP API のメジャー バージョン番号を受け取る符号なし長整数変数へのポインター。 たとえば、実装で WinSNMP バージョン 2.0 がサポートされていることを示すために、関数は値 2 を返します。

[out] nMinorVersion

実装でサポートされている WinSNMP API のマイナー バージョン番号を受け取る符号なし long 整数変数へのポインター。 たとえば、実装で WinSNMP バージョン 2.0 がサポートされていることを示すために、関数は値 0 を返します。

[out] nLevel

実装でサポートされている最高レベルの SNMP 通信を受け取る符号なし長整数変数へのポインター。 正常に戻ると、このパラメーターの値は 2 になります。 レベル 2 のサポートの説明については、「 SNMP サポートのレベル」を参照してください。

[out] nTranslateMode

実装で有効な既定の変換モードを受け取るための符号なし長整数変数へのポインター。 変換モードは、WinSNMP アプリケーションが SnmpStrToEntity 関数に渡すエンティティ パラメーターの解釈方法に適用されます。 変換モードは、WinSNMP アプリケーションが SnmpStrToContext 関数に渡す文字列パラメーターにも適用されます。 このパラメーターには、次の値のいずれかを指定できます。

説明
SNMPAPI_TRANSLATED
実装では、そのデータベースを使用して、SNMP エンティティとマネージド オブジェクトのわかりやすい名前を変換します。 実装では、それらを SNMPv1 または SNMPv2C コンポーネントに変換します。
SNMPAPI_UNTRANSLATED_V1
実装では、SNMP エンティティ パラメーターが SNMP トランスポート アドレスとして解釈され、コンテキスト パラメーターが SNMP コミュニティ文字列として解釈されます。 SNMPv2 宛先エンティティの場合、実装では、バージョン フィールドに 0 の値を含む送信 SNMP メッセージが作成されます。
SNMPAPI_UNTRANSLATED_V2
実装では、SNMP エンティティ パラメーターが SNMP トランスポート アドレスとして解釈され、コンテキスト パラメーターが SNMP コミュニティ文字列として解釈されます。 SNMPv2 宛先エンティティの場合、実装では、バージョン フィールドに値 1 を含む送信 SNMP メッセージが作成されます。
 

詳細については、「 エンティティとコンテキスト変換モードの設定」を参照してください。

[out] nRetransmitMode

実装で有効な既定の再送信モードを受け取るための符号なし長整数変数へのポインター。 このパラメーターには、次の値のいずれかを指定できます。

説明
SNMPAPI_OFF
実装では、WinSNMP アプリケーションの再送信ポリシーが実行されていません。
SNMPAPI_ON
実装では、WinSNMP アプリケーションの再送信ポリシーが実行されています。
 

詳細については、「 再送信について」を参照してください。

戻り値

関数が成功した場合、戻り値はSNMPAPI_SUCCESSされ、前のパラメーターの説明に示すように、パラメーターには適切な値が含まれます。

関数が失敗した場合、戻り値はSNMPAPI_FAILURE。 拡張エラー情報を取得するには、セッション パラメーターに NULL 値を指定して SnmpGetLastError を呼び出します。 SnmpGetLastError 関数は、次のいずれかのエラーを返すことができます。 詳細については、このドキュメントの後半の「解説」セクションを参照してください。

リターン コード 説明
SNMPAPI_TL_RESOURCE_ERROR
起動時にリソース割り当てエラーが発生しました。
SNMPAPI_TL_NOT_INITIALIZED
SnmpStartupEx 関数が正しく初期化されませんでした。
SNMPAPI_ALLOC_ERROR
メモリ割り当て中にエラーが発生しました。
SNMPAPI_OTHER_ERROR
不明または未定義のエラーが発生しました。

解説

WinSNMP アプリケーションは、他の WinSNMP 関数を呼び出す前に、 SnmpStartupEx 関数を少なくとも 1 回正常に呼び出す必要があります。 WinSNMP アプリケーションが SnmpStartupEx を正常に呼び出す前に別の WinSNMP 関数を呼び出した場合、実装はエラー SNMPAPI_NOT_INITIALIZEDを返します。

WinSNMP アプリケーションは、エラー情報のために SnmpGetLastError を呼び出すか、 SnmpStartupEx 関数の呼び出しが失敗した場合に SnmpStartupEx を 再試行できます。 SnmpStartupEx がSNMPAPI_FAILUREを返し、その後の SnmpGetLastError の呼び出しでSNMP_ALLOC_ERRORが返されると、WinSNMP アプリケーションは待機を選択できます。 実装に十分な空きリソースがある場合は 、SnmpStartupEx の呼び出しを再試行できます。

WinSNMP アプリケーションは、 SnmpStartupEx の呼び出しが成功するたびに SnmpCleanupEx を呼び出す必要があります。 WinSNMP 実装は、 SnmpStartup または SnmpStartupEx への未処理の正常な呼び出しがない最終クリーンアップを実行します。

詳細については、「 SNMP サポートのレベル 」および 「SNMP バージョンについて」を参照してください。

要件

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

関連項目

SnmpCleanupEx

SnmpStrToContext

SnmpStrToEntity

WinSNMP API の概要

WinSNMP 関数