次の方法で共有


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

ジェネリック トラップのインジケーターを受け取る変数へのポインター。 このパラメーターには、次の値のいずれかを指定できます。

意味
SNMP_GENERICTRAP_COLDSTART
エージェントは、マネージド モードでプロトコル エンティティを初期化しています。 ビュー内のオブジェクトが変更される場合があります。
SNMP_GENERICTRAP_WARMSTART
エージェントはそれ自体を再初期化していますが、ビュー内のオブジェクトは変更されません。
SNMP_GENERICTRAP_LINKDOWN
接続されているインターフェイスが "アップ" 状態から "ダウン" 状態に変更されました。 変数バインド リストの最初の変数は、インターフェイスを識別します。
SNMP_GENERICTRAP_LINKUP
接続されているインターフェイスが "ダウン" 状態から "アップ" 状態に変更されました。 変数バインド リストの最初の変数は、インターフェイスを識別します。
SNMP_GENERICTRAP_AUTHFAILURE
SNMP エンティティは SNMP メッセージを送信しましたが、既知のコミュニティに属すると誤って主張しています。
SNMP_GENERICTRAP_EGPNEIGHLOSS
EGP ピアが "ダウン" 状態に変更されました。 変数バインド リストの最初の変数は、EGP ピアの IP アドレスを識別します。
SNMP_GENERICTRAP_ENTERSPECIFIC
特別なイベントが発生し、エンタープライズ固有の値を持つ specificTrap パラメーターで識別されます。

[out] specificTrap

生成された特定のトラップの兆候を受け取る変数へのポインター。

[out] timeStamp

タイム スタンプを受け取る変数へのポインター。

[out] variableBindings

変数バインド リストを受け取る SnmpVarBindList 構造体へのポインター。

戻り値

関数がトラップを返す場合、戻り値は TRUE です。 エラーのコードは、呼び出しの直後に SnmpGetLastError を呼び出すことによって取得できます。

SNMPMgrGetTrap 関数は、FALSE (ゼロ) を返すまで繰り返し呼び出す必要があります。 関数は、次のエラー コードを返す場合もあります。

リターン コード 説明
SNMP_MGMTAPI_TRAP_ERRORS
エラーが発生したことを示します。トラップにアクセスできません。
SNMP_MGMTAPI_NOTRAPS
使用可能なトラップがないことを示します。
SNMP_MEM_ALLOC_ERROR
メモリ割り当てエラーを示します。

注釈

アプリケーションでは、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

こちらもご覧ください

AsnObjectIdentifier

SNMP 関数

簡易ネットワーク管理プロトコル (SNMP) の概要

SnmpMgrTrapListen

SnmpVarBindList