与开发SNMP扩展代理DLL相关
Related to developing a SNMP extension agent DLL?
我按照下面的教程创建扩展代理DLL。我遵循下面的教程:http://www.codeproject.com/KB/IP/SNMP_Agent_DLL__Part1_.aspx
根据本教程,我需要在其他方法中至少使用这1个方法签名:
BOOL SNMP_FUNC_TYPE SnmpExtensionQuery(BYTE bPduType,
SnmpVarBindList *pVarBindList,
AsnInteger32 *pErrorStatus,
AsnInteger32 *pErrorIndex)
问题是SnmpVarBindList *pVarBindList参数。我应该插入以下数据,例如("About","Name","Age")到SnmpVarBindList数据类型中,然后将其传递到上面的方法中…
但我不确定如何创建SnmpVarBindList数据类型列表并插入以下数据,例如("关于","名称","年龄")到列表中??
MIB_ENTRY g_MyMibTable[] = {
{
{OID_SIZEOF(g_unAboutOid),g_unAboutOid},
&g_szAbout,
"About",
ASN_OCTETSTRING,
SNMP_ACCESS_READ_ONLY,
&g_MyMibTable[1]
},
{
{OID_SIZEOF(g_unNameOid),g_unNameOid},
&g_szName,
"Name",
ASN_OCTETSTRING,
SNMP_ACCESS_READ_WRITE,
&g_MyMibTable[2]
},
{
{OID_SIZEOF(g_unAgeOid),g_unAgeOid},
&g_asnIntAge,
"Age",
ASN_INTEGER,
SNMP_ACCESS_READ_WRITE,
NULL
}
};
==========================================================================================//结构定义供参考:
typedef struct {
AsnObjectName name;
AsnObjectSyntax value;
} SnmpVarBind;
typedef struct {
SnmpVarBind * list;
UINT len;
} SnmpVarBindList;
提供的任何指导或代码示例都将非常感激,我是c++的新手
真诚这是你需要的。
/* Définitions of vars leaves.
Terminal zero is needed
*/
UINT MIB_About[] = { 2, 1, 0 };
UINT MIB_Name[] = { 2, 2, 0 };
UINT MIB_Age[] = { 2, 3, 0 };
/* Physical (Har-coded) data of the MIB
*/
char MIB_AboutStor[] = "The about text";
char MIB_NameStor[] = "The Name text";
AsnInteger MIB_AgeStor = 20;
extern MIB_ENTRY Mib[];
extern UINT MIB_num_variables;
/* initialisation du modèle d'accès aux variables de la MIB
*/
MIB_ENTRY Mib[] = {
{ { OID_SIZEOF(MIB_About), MIB_About },
&MIB_AboutStor, ASN_RFC1213_DISPSTRING,
MIB_ACCESS_READ, MIB_leaf_func, &Mib[1] },
{ { OID_SIZEOF(MIB_Name), MIB_Name },
&MIB_NameStor, ASN_RFC1213_DISPSTRING,
MIB_ACCESS_READ, MIB_leaf_func, &Mib[2] },
{ { OID_SIZEOF(MIB_Age), MIB_Age },
&MIB_AgeStor, ASN_INTEGER,
MIB_ACCESS_READWRITE, MIB_control_func, NULL }
};
UINT MIB_num_variables = sizeof Mib / sizeof( MIB_ENTRY );
您可以在Microsoft Example中找到MIB_leaf_func
和MIB_control_func
相关文章:
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- c++调用opencv相关函数,并且被打包到dll中,c#无法调用它
- 使用.dll文件编译可执行文件,.dll与.exe相关的文件
- 非 MFC ATL 项目 (dll) 生成与 MFC 相关的错误
- 与 libstdc++-6.dll 相关的 OpenCV 应用程序崩溃
- 为什么隐式DLL链接需要相关的Lib文件,而显式链接不需要
- MSVCP140.dll与操作系统/版本相关
- Visual Studio在调试时将不相关的dll加载到我的项目中
- 与开发SNMP扩展代理DLL相关
- Qt-Dll相关问题
- 视觉上缺少不相关的DLL