次の方法で共有


SnmpOpen 関数 (winsnmp.h)

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

SnmpOpen 関数は、WinSNMP アプリケーションのセッションを開くよう Microsoft WinSNMP 実装に要求します。 この WinSNMP 関数を使用すると、実装でメモリ、リソース、データ構造、および通信メカニズムを割り当てて初期化できます。 SnmpOpen 関数は、新しい WinSNMP セッションへのハンドルを返します。

メモ 新しい WinSNMP アプリケーションを開発する場合は、SnmpOpen 関数を呼び出す代わりに 、SnmpCreateSession 関数を呼び出して WinSNMP セッションを開 くことをお勧めします。
 

構文

HSNMP_SESSION SNMPAPI_CALL SnmpOpen(
  [in] HWND hWnd,
  [in] UINT wMsg
);

パラメーター

[in] hWnd

WinSNMP アプリケーションのウィンドウを処理して、非同期要求が完了したとき、またはトラップ通知が発生したときに通知します。

[in] wMsg

WinSNMP アプリケーション ウィンドウに送信する通知メッセージを識別する符号なし整数を指定します。

戻り値

関数が成功した場合、戻り値は、呼び出し元のアプリケーションに対して実装が開く WinSNMP セッションを識別するハンドルです。

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

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

注釈

SnmpOpen 関数は、呼び出し元の WinSNMP アプリケーション内で開いている各 WinSNMP セッションに対して一意のハンドルを返します。 アプリケーションは、実装によるリソースの割り当てと割り当て解除を容易にするために、 SnmpOpen が他の WinSNMP 関数呼び出しで返すセッション ハンドルを使用する必要があります。 実装では、個々のセッションにリソースを割り当てると、セッションの SnmpClose の呼び出しに応じて、リソースの順番に解放を実行します。

SnmpOpen 関数は、アプリケーション ウィンドウと通知メッセージ識別子にハンドルを実装に渡します。 wMsg パラメーターで指定された通知メッセージの wParam コンポーネントが 0 に等しい場合、WinSNMP アプリケーションは受信プロトコル データ ユニット (PDU) を取得する必要があります。 アプリケーションは、SnmpOpen によって返されるセッション ハンドルを使用して SnmpRecvMsg 関数を呼び出すことによってこれを行います。 通知メッセージの wParam パラメーターが 0 に等しくない場合は、WinSNMP エラー コードを表します。 エラー コードは、通知メッセージの lParam パラメーターの要求識別子によって識別される PDU に適用されます。

1 つの WinSNMP アプリケーションで、複数の WinSNMP セッションを開くことができます。 アプリケーションが同じウィンドウ ハンドルを使用して複数のセッションを開く場合は、WinSNMP アプリケーションでセッションごとに一意の wMsg パラメーターを指定することをお勧めします。

WinSNMP アプリケーションでは、 SnmpOpen 関数の呼び出しの結果として実装が開くセッションごとに SnmpClose 関数を 1 回呼び出することをお勧めします。 WinSNMP アプリケーションが予期せず終了した場合、実装ですべてのリソースの割り当てを解除できるようにするには、終了する前に SnmpCleanup を呼び出す必要があります。 この実装では、1 つの SnmpCleanup 呼び出しが一連の SnmpClose 呼び出しであるかのように扱われます。SnmpOpen の呼び出しの結果として、実装が開かれるセッションごとに 1 つの呼び出しが 行われます

WinSNMP セッションを開き、使用可能な SNMP メッセージと非同期イベントのセッションに通知するために使用するメソッドを指定する方法については、「 SnmpCreateSession」を参照してください。 SnmpCreateSession を呼び出すときは、セッションに通知するウィンドウ通知メッセージまたはSNMPAPI_CALLBACK関数を指定できます。

詳細については、「 WinSNMP セッション」を参照してください。

要件

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

こちらもご覧ください

SNMPAPI_CALLBACK

SnmpCleanup

SnmpClose

SnmpCreateSession

SnmpRecvMsg

WinSNMP 関数

WinSNMP API の概要