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)とのインターフェイス(やり取り)という考え方となっています。
コミュニケーションAPI
コミュニケーションAPI は、WinSNMP APIを利用するアプリケーションとWinSNMPの実装であるWSNMP32.DLLとのインターフェースを提供します。WSNMP32.DLLでは、WinSNMP APIを利用するアプリケーションと他の管理エンティティとを対応付けします。
SnmpCancelMsg, SnmpCleanup, SnmpClose, SnmpCreateSession, SnmpListen, SnmpOpen, SnmpRecvMsg, SnmpRegister, SnmpSendMsg, SnmpStartup
エンティティ・コンテキストAPI
エンティティ・コンテキストAPIは、WinSNMP APIを利用するアプリケーションが、SNMPエンティティとコンテキストに対するアクセスを提供するAPIです。WinSNMPの実装(WSNMP32.DLL)は、エンティティとコンテキストの名称を、SNMPv1 またはSNMPv2の名称に変換します。
SnmpContextToStr, SnmpEntityToStr, SnmpFreeContext, SnmpFreeEntity, SnmpSetPort, SnmpStrToContext, SnmpStrToEntity
データベースAPI
データベースAPI は、WinSNMP APIを利用するアプリケーションに、WinSNMPの実装(WSNMP32.DLL)が保持している現在の管理情報を提供するためのAPIです。データベースAPIは、再送信モードの変更、エンティティの変更、コンテキストの変換モードの変更などができます。
SnmpGetRetransmitMode, SnmpGetRetry, SnmpGetTimeout, SnmpGetTranslateMode, SnmpGetVendorInfo, SnmpSetRetransmitMode, SnmpSetRetry, SnmpSetTimeout, SnmpSetTranslateMode
PDU API
PDU API は、WinSNMP APIを利用するアプリケーションが、SNMPメッセージ(PDU)を展開(または更新)する際に使用するAPIです。コミュニケーションAPIのSnmpRecvMsg、SnmpSendMsgを呼び出す際や、後述するユーティリティAPI のSnmpDecodeMsg、SnmpEncodeMsgを呼び出す際に、使用します。
SnmpCreatePdu, SnmpDuplicatePdu, SnmpFreePdu, SnmpGetPduData, SnmpSetPduData
ユーティリティAPI
ユーティリティAPI は、WinSNMP APIを利用するアプリケーションに、MIBオブジェクトを管理する機能と、SNMPメッセージのエンコード・デコードする機能を提供するAPIです。
SnmpDecodeMsg, SnmpEncodeMsg, SnmpFreeDescriptor, SnmpGetLastError, SnmpOidCompare, SnmpOidCopy, SnmpOidToStr, SnmpStrToOid
変数バインディングAPI
変数バインディングAPI は、WinSNMP APIを利用するアプリケーションに、SNMPメッセージ(PDU)内の変数バインディングを操作する機能を提供するAPIです。
SnmpCountVbl, SnmpCreateVbl, SnmpDeleteVb, SnmpDuplicateVbl, SnmpFreeVbl, SnmpGetVb, SnmpSetVb
Misc.(先頭のページ)





