snmpMgrCtl 函数 (mgmtapi.h)

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

SnmpMgrCtl 函数设置与 SNMP 会话关联的操作参数。 此函数是 SNMP 管理 API 的一个元素。

语法

BOOL SNMP_FUNC_TYPE SnmpMgrCtl(
  [in]  LPSNMP_MGR_SESSION session,
  [in]  DWORD              dwCtlCode,
  [in]  LPVOID             lpvInBuffer,
  [in]  DWORD              cbInBuffer,
  [out] LPVOID             lpvOUTBuffer,
  [out] DWORD              cbOUTBuffer,
  [out] LPDWORD            lpcbBytesReturned
);

parameters

[in] session

指向指定应用控制代码的会话的内部结构的指针。

[in] dwCtlCode

指定一个值 (用于标识要执行的操作的控制代码) 。

目前,MGMCTL_SETAGENTPORT是唯一受支持的控件代码。 设置此代码允许 SNMP 管理应用程序将请求发送到远程代理,该代理正在“侦听”任意端口上的 SNMP 管理器请求。 有关详细信息,请参阅 lpvInBuffercbInBuffer 参数说明。

[in] lpvInBuffer

指向包含操作所需输入参数的缓冲区的指针。

指定MGMCTL_SETAGENTPORT控制代码时,此参数必须指向一个无符号整数,该整数指定远程代理将“侦听”SNMP 管理器请求的端口号。 端口号必须采用主机字节顺序。

[in] cbInBuffer

指定 lpvInBuffer 参数指向的缓冲区的大小(以字节为单位)。

指定MGMCTL_SETAGENTPORT控件代码时,此参数等于大小of (UINT) 。

[out] lpvOUTBuffer

指向接收操作输出数据的缓冲区的指针。

[out] cbOUTBuffer

指定 lpvOutBuffer 参数指向的缓冲区的大小(以字节为单位)。

[out] lpcbBytesReturned

指向变量的指针,该变量接收 lpvOutBuffer 参数指向的缓冲区中存储的数据的实际大小(以字节为单位)。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 GetLastError 还可以返回以下错误代码之一。

返回代码 说明
SNMP_MGMTAPI_INVALID_CTL
dwCtlCode 参数未指定有效的控制代码。
SNMP_MGMTAPI_INVALID_SESSION
会话参数未指定有效的 SNMP 会话。
SNMP_MGMTAPI_INVALID_BUFFER
一个或多个 lpvInBufferlpvOutBufferlcbBytesRequired 参数无效,或者 cbInBuffercbOutBuffer 参数太小。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mgmtapi.h
Library Mgmtapi.lib
DLL Mgmtapi.dll

另请参阅

SNMP 函数

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

SnmpMgrOpen