次の方法で共有


SnmpStartup 関数 (winsnmp.h)

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

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

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

構文

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

パラメーター

[out] nMajorVersion

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

[out] nMinorVersion

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

[out] nLevel

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

[out] nTranslateMode

実装で有効な既定の変換モードを受け取る符号なし long 整数変数へのポインター。 変換モードは、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

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

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

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

戻り値

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

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

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

注釈

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

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

WinSNMP アプリケーションは 、SnmpStartup を 複数回呼び出すことができます。 たとえば、前に説明した理由で関数呼び出しを再試行する必要がある場合があります。 WinSNMP アプリケーションは、終了する前の最後の WinSNMP 関数呼び出しとして、 SnmpCleanup を少なくとも 1 回呼び出す必要があります。 複数 の SnmpStartup 呼び出しでは、複数 の SnmpCleanup 呼び出しは必要ありません。

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

要件

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

こちらもご覧ください

SnmpCleanup

SnmpStrToContext

SnmpStrToEntity

WinSNMP 関数

WinSNMP API の概要