SnmpExtensionInit 函数 (snmp.h)

[SNMP 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows 远程管理,这是 WS-Man 的 Microsoft 实现。]

Microsoft SNMP 服务调用 SnmpExtensionInit 函数来初始化 SNMP 扩展代理 DLL。 此函数是 SNMP 扩展代理 API 的元素。

语法

BOOL SNMP_FUNC_TYPE SnmpExtensionInit(
  [in]  DWORD               dwUptimeReference,
  [out] HANDLE              *phSubagentTrapEvent,
  [out] AsnObjectIdentifier *pFirstSupportedRegion
);

参数

[in] dwUptimeReference

指定扩展代理的时间零引用。

注意 扩展代理应忽略此参数。 SNMP 扩展代理 DLL 应使用 SnmpSvcGetUptime 函数来检索 SNMP 服务一直运行的百分位数。 有关更多信息,请参见下面的“备注”部分。
 

[out] phSubagentTrapEvent

指向事件指针,该事件处理扩展代理传递回 SNMP 服务。 此句柄用于通知服务扩展代理有一个或多个陷阱要发送。 有关分配和解除分配事件句柄的其他信息,请参阅以下“备注”部分。

[out] pFirstSupportedRegion

指向 AsnObjectIdentifier 结构的指针,用于接收扩展代理支持的第一个 MIB 子树。 有关为此结构分配和解除分配资源的其他信息,请参阅以下“备注”部分。

扩展代理可以通过实现 SnmpExtensionInitEx 入口点函数来注册其他 MIB 子树。

返回值

如果函数成功,则返回值为 TRUE

如果函数失败,则返回值为 FALSE

注解

扩展代理应忽略 dwUptimeReference 参数。 相反,他们应调用 SnmpSvcGetUptime 函数来检索 Microsoft SNMP 服务一直运行的百分之数。 由于 dwUptimeReference 参数将经过的时间存储为以毫秒为单位的 DWORD 值,因此时间可能会换行到零并反映不准确的时间间隔。

扩展代理通过将 phSubagentTrapEvent 参数中传递回的事件句柄设置为信号状态,通知 SNMP 服务它需要发送一个或多个陷阱。 发出此事件的信号后,SNMP 服务会重复调用扩展代理的 SnmpExtensionTrap 入口点,直到函数返回 FALSE 值。 这表示扩展代理没有更多的陷阱要发送。 如果扩展代理未生成陷阱, phSubagentTrapEvent 参数应返回 NULL 值。

SNMP 扩展代理必须为陷阱事件句柄分配和解除分配资源。 当 SNMP 服务调用 SnmpExtensionInit 函数时,扩展代理必须调用 CreateEvent 函数来分配事件句柄。 扩展代理将句柄传递到 phSubagentTrapEvent 参数中的 SNMP 服务。 当 SNMP 服务调用 SnmpExtensionClose 函数时,扩展代理必须解除分配陷阱事件句柄的资源。

SNMP 服务生成扩展代理在 pFirstSupportedRegion 参数中返回的 AsnObjectIdentifier 结构的副本。 扩展代理必须分配和解除分配与原始结构关联的资源。 当 SNMP 服务调用 SnmpExtensionClose 函数时,它可以执行此操作。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 snmp.h

另请参阅

AsnObjectIdentifier

CreateEvent

SNMP 函数

简单网络管理协议 (SNMP) 概述

SnmpExtensionClose

SnmpExtensionMonitor

SnmpExtensionTrap

SnmpSvcGetUptime