SnmpMgrGetTrap 関数 (mgmtapi.h)
[SNMP は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 代わりに、WS-Man の Microsoft 実装である Windows リモート管理を使用します。
SnmpMgrGetTrap 関数は、トラップ受信が有効になっている場合に呼び出し元が受信していない未処理のトラップ データを返します。 この関数は、SNMP Management API の要素です。
SnmpMgrGetTrapEx 関数は、この関数によって返される情報に加えて、トランスポート ソースのアドレスとトラップのコミュニティ文字列を返します。
構文
BOOL SNMP_FUNC_TYPE SnmpMgrGetTrap(
[out] AsnObjectIdentifier *enterprise,
[out] AsnNetworkAddress *IPAddress,
[out] AsnInteger *genericTrap,
[out] AsnInteger *specificTrap,
[out] AsnTimeticks *timeStamp,
[out] RFC1157VarBindList *variableBindings
);
パラメーター
[out] enterprise
SNMP トラップを生成した企業を受け取る AsnObjectIdentifier 構造体へのポインター。
[out] IPAddress
SNMP トラップを生成したエージェントのアドレスを受け取る変数へのポインター。
[out] genericTrap
ジェネリック トラップのインジケーターを受け取る変数へのポインター。 このパラメーターには、次の値のいずれかを指定できます。
[out] specificTrap
生成された特定のトラップの兆候を受け取る変数へのポインター。
[out] timeStamp
タイム スタンプを受け取る変数へのポインター。
[out] variableBindings
変数バインド リストを受け取る SnmpVarBindList 構造体へのポインター。
戻り値
関数がトラップを返す場合、戻り値は TRUE です。 エラーのコードは、呼び出しの直後に SnmpGetLastError を呼び出すことによって取得できます。
SNMPMgrGetTrap 関数は、FALSE (ゼロ) を返すまで繰り返し呼び出す必要があります。 関数は、次のエラー コードを返す場合もあります。
リターン コード | 説明 |
---|---|
|
エラーが発生したことを示します。トラップにアクセスできません。 |
|
使用可能なトラップがないことを示します。 |
|
メモリ割り当てエラーを示します。 |
注釈
アプリケーションでは、SnmpMgrGetTrap 関数を呼び出す前に、必ず SnmpMgrTrapListen 関数を呼び出す必要があります。 これは、SnmpMgrTrapListen 関数の phTrapAvailable パラメーターが指すイベント ハンドルによって、SNMP トラップのイベント ドリブン取得が可能になるためです。 SNMP トラップ サービスがトラップを配信すると、SNMP Management API によってアプリケーションのイベントが通知されます。
また、アプリケーションは SnmpMgrGetTrap 関数をポーリングして、一定の間隔でトラップを検出することもできます。 この場合、アプリケーションは、関数が 0 を返すまで SnmpMgrGetTrap を繰り返し呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mgmtapi.h |
Library | Mgmtapi.lib |
[DLL] | Mgmtapi.dll |