WinSnmp API 開発 - SNMPシリーズ

SNMP : 2009.10.15 Thursday

WinSnmp API 開発

ここでは、WindowsでSNMPマネージャ、SNMPエージェントを開発する際に使用する「WinSnmp API」について説明します。 WinSnmp APIは Platform SDK に含まれるAPIライブラリで、Windows 2000以降で登場したSNMP開発用のライブラリで、SNMPv1仕様とSNMPv2仕様のSNMP拡張エージェント・SNMPマネージャが開発できます。 SNMPv1、SNMPv2の両方をサポートするのであれば 若干プログラミングが複雑なのですが WinSNMP APIを使用するほうがよいでしょう。

WinSNMP APIは、「コミュニケーションAPI」「エンティティ・コンテキストAPI」「データベースAPI」「PDU API」「ユーティリティAPI」「変数バインディングAPI」の6つのグループに分類されています。 SNMP Functions では、SNMP拡張エージェントAPIなどのように、開発する対象ごとにAPIがグループ分類されていましたが、WinSNMP APIでは、SNMP Functionsとはアーキテクチャが異なり、WinSNMPの実装(WSNMP32.DLL)とのインターフェイス(やり取り)という考え方となっています。


WinSNMP コミュニケーションAPI

コミュニケーションAPI は、WinSNMP APIを利用するアプリケーションとWinSNMPの実装であるWSNMP32.DLLとのインターフェースを提供します。WSNMP32.DLLでは、WinSNMP APIを利用するアプリケーションと他の管理エンティティとを対応付けします。

SnmpCancelMsg, SnmpCleanup, SnmpClose, SnmpCreateSession, SnmpListen, SnmpOpen, SnmpRecvMsg, SnmpRegister, SnmpSendMsg, SnmpStartup


WinSNMP エンティティ・コンテキストAPI

エンティティ・コンテキストAPIは、WinSNMP APIを利用するアプリケーションが、SNMPエンティティとコンテキストに対するアクセスを提供するAPIです。WinSNMPの実装(WSNMP32.DLL)は、エンティティとコンテキストの名称を、SNMPv1 またはSNMPv2の名称に変換します。

SnmpContextToStr, SnmpEntityToStr, SnmpFreeContext, SnmpFreeEntity, SnmpSetPort, SnmpStrToContext, SnmpStrToEntity


WinSNMP データベースAPI

データベースAPI は、WinSNMP APIを利用するアプリケーションに、WinSNMPの実装(WSNMP32.DLL)が保持している現在の管理情報を提供するためのAPIです。データベースAPIは、再送信モードの変更、エンティティの変更、コンテキストの変換モードの変更などができます。

SnmpGetRetransmitMode, SnmpGetRetry, SnmpGetTimeout, SnmpGetTranslateMode, SnmpGetVendorInfo, SnmpSetRetransmitMode, SnmpSetRetry, SnmpSetTimeout, SnmpSetTranslateMode


WinSNMP PDU API

PDU API は、WinSNMP APIを利用するアプリケーションが、SNMPメッセージ(PDU)を展開(または更新)する際に使用するAPIです。コミュニケーションAPIのSnmpRecvMsg、SnmpSendMsgを呼び出す際や、後述するユーティリティAPI のSnmpDecodeMsg、SnmpEncodeMsgを呼び出す際に、使用します。

SnmpCreatePdu, SnmpDuplicatePdu, SnmpFreePdu, SnmpGetPduData, SnmpSetPduData


WinSNMP ユーティリティAPI

ユーティリティAPI は、WinSNMP APIを利用するアプリケーションに、MIBオブジェクトを管理する機能と、SNMPメッセージのエンコード・デコードする機能を提供するAPIです。

SnmpDecodeMsg, SnmpEncodeMsg, SnmpFreeDescriptor, SnmpGetLastError, SnmpOidCompare, SnmpOidCopy, SnmpOidToStr, SnmpStrToOid


WinSNMP 変数バインディングAPI

変数バインディングAPI は、WinSNMP APIを利用するアプリケーションに、SNMPメッセージ(PDU)内の変数バインディングを操作する機能を提供するAPIです。

SnmpCountVbl, SnmpCreateVbl, SnmpDeleteVb, SnmpDuplicateVbl, SnmpFreeVbl, SnmpGetVb, SnmpSetVb




【最近の投稿記事】



技術情報
SNMP |  Windowsサービス |  コンパネと管理ツール |  バッチファイル | 
Vista UAC無効化 |  Windows 7 UAC |  .NET Framework |  Webブラウザのリサイズ | 
SQL Server Express 管理 |  ダウンロードファイルのブロック解除 |  Windows Server サポート終了日 | 
Windows 8 フォト→ペイント |  Excelスクロールがおかしい !? |  ダウンロードフォルダ変更

コラム
プログラマ |  資格の王様 |  迷惑メール |  メール消失 |  情処の変遷 |  Webユーザビリティ