|
||
株式会社ウィル | ||
|
HOME | 新着情報 | 製品一覧 | 受託開発 | Download | 購入方法 | トライアル | サポート | 会社案内 |
VisualC++でSNMPOCXを利用する場合 |
|||
|
|||
|
VisualC++でSNMPOCXを利用する場合、VC++が生成するSNMPSENDコントロールのラッパークラスC_SnmpSendをすこし修正する必要があります。 SendTrapメソッドおよびSNMPStringValueメソッドを例に、修正方法を下記に示します(修正例はVC++5.0のものです)。 TrapおよびResponseイベントとその中での処理に関してはSNMPマネージャーサンプル(VC++版)をご覧ください。 |
▲TOPへ |
ObjectValueをBSTR型にし、それをVariant変数に代入し、それをSnmpSendコントロールに渡す。
C_SnmpSend.h:
void SendTrap(LPCTSTR RemoteIP, LPCTSTR RemotePort, LPCTSTR Community,
LPCTSTR Enterprise, short GenericTrapType, LPCTSTR SpecificTrapType,
BSTR ObjectValue);C_SnmpSend.cpp:
void C_SnmpSend::SendTrap(LPCTSTR RemoteIP, LPCTSTR RemotePort,
LPCTSTR Community, LPCTSTR Enterprise, short GenericTrapType,
LPCTSTR SpecificTrapType, BSTR ObjectValue)
{
VARIANT v;
static BYTE parms[] =
VTS_BSTR VTS_BSTR VTS_BSTR VTS_BSTR VTS_I2 VTS_BSTR VTS_VARIANT;
VariantInit(&v);
v.vt = VT_BSTR;
v.bstrVal = ObjectValue;
InvokeHelper(0x6003016a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
RemoteIP, RemotePort, Community, Enterprise, GenericTrapType,
SpecificTrapType, &v);
}
▲TOPへ |
SnmpSendコントロールの戻り値をVariantで受ける。
関数の戻り値をBSTR型にする。C_SnmpSend.h:
BSTR SNMPStringValue(LPCTSTR ObjectID, LPCTSTR Value);
C_SnmpSend.cpp:BSTR C_SnmpSend::SNMPStringValue(LPCTSTR ObjectID, LPCTSTR Value)
{
VARIANT result;static BYTE parms[] =
VTS_BSTR VTS_BSTR;
InvokeHelper(0x60030163, DISPATCH_METHOD, VT_VARIANT,
(void*)&result, parms,ObjectID, Value);
return result.bstrVal;
}
▲TOPへ |
BSTR V6 = m_SnmpCtr.SNMPStringValue("1.3.6.1.4.1.5000.1","12345" );
m_SnmpCtr.SendTrap(V1,V2,V3,V4,6,V5,V6);
(C) Copyright 2003 WILL Corporation. All rights reserved. |