INetSharingConfiguration::AddPortMapping 方法 (netcon.h)

[Internet 连接防火墙可能在后续版本中更改或不可用。 请改用 Windows 防火墙 API。]

AddPortMapping 方法为此连接添加服务端口映射。

语法

HRESULT AddPortMapping(
  [in]  BSTR                   bstrName,
  [in]  UCHAR                  ucIPProtocol,
  [in]  USHORT                 usExternalPort,
  [in]  USHORT                 usInternalPort,
  [in]  DWORD                  dwOptions,
  [in]  BSTR                   bstrTargetNameOrIPAddress,
  [in]  ICS_TARGETTYPE         eTargetType,
  [out] INetSharingPortMapping **ppMapping
);

参数

[in] bstrName

指向包含此端口映射名称的 BSTR 变量的指针。

[in] ucIPProtocol

指定要为端口映射设置的 IP 协议。 IP 协议是以下值之一:

NAT_PROTOCOL_TCP

NAT_PROTOCOL_UDP

[in] usExternalPort

指定此端口映射的外部端口。

[in] usInternalPort

指定此端口映射的内部端口。

[in] dwOptions

此参数是保留的,此时不使用。

[in] bstrTargetNameOrIPAddress

指向 BSTR 变量的指针,该变量包含此端口映射的目标计算机的名称。 指定目标名称或目标 IP 地址,但不能同时指定两者。

[in] eTargetType

指示目标类型。

[out] ppMapping

指向成功返回时指向端口映射 的 INetSharingPortMapping 接口的指针的指针。

返回值

如果该方法成功,则返回值S_OK。

如果方法失败,则返回值为以下错误代码之一。

返回代码 说明
E_ABORT
操作已中止。
E_FAIL
发生了未指定的错误。
E_INVALIDARG
其中一个参数无效。
E_NOINTERFACE
不支持指定的接口。
E_NOTIMPL
未实现指定的方法。
E_OUTOFMEMORY
方法无法分配所需的内存。
E_POINTER
作为参数传递的指针无效。
E_UNEXPECTED
方法因未知原因而失败。

注解

首次添加时,新映射处于禁用状态。 若要启用新映射,请使用 INetSharingPortMapping::Enable

添加后,新定义将显示在 ICS/ICF 用户界面的“端口映射”列表中。

使用 INetSharingManager::get_INetSharingConfigurationForINetConnection 方法获取特定连接的 INetSharingConfiguration 接口。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 netcon.h
DLL Hnetcfg.dll

另请参阅

INetSharingConfiguration

Internet 连接共享和 Internet 连接防火墙接口

Internet 连接共享和 Internet 连接防火墙参考