INetSharingConfiguration::AddPortMapping method (netcon.h)

[Internet Connection Firewall may be altered or unavailable in subsequent versions. Instead, use the Windows Firewall API.]

The AddPortMapping method adds a service port mapping for this connection.


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

Pointer to a BSTR variable that contains the name for this port mapping.

[in] ucIPProtocol

Specifies the IP Protocol to set for the port mapping. The IP Protocol is one of the following values:



[in] usExternalPort

Specifies the external port for this port mapping.

[in] usInternalPort

Specifies the internal port for this port mapping.

[in] dwOptions

This parameter is reserved and not used at this time.

[in] bstrTargetNameOrIPAddress

Pointer to a BSTR variable that contains the name of the target computer for this port mapping. Specify either the target name or the target IP address, but not both.

[in] eTargetType

Indicates target type.

[out] ppMapping

Pointer to a pointer that, on successful return, points to an INetSharingPortMapping interface for the port mapping.

Return value

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Return code Description
The operation was aborted.
An unspecified error occurred.
One of the parameters is invalid.
A specified interface is not supported.
A specified method is not implemented.
The method was unable to allocate required memory.
A pointer passed as a parameter is not valid.
The method failed for unknown reasons.


When first added, the new mapping is in a disabled state. To enable the new mapping, use INetSharingPortMapping::Enable.

After it is added, the new definition appears in the Port Mappings list in the ICS/ICF user interface.

Use the INetSharingManager::get_INetSharingConfigurationForINetConnection method to obtain an INetSharingConfiguration interface for a particular connection.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server None supported
Target Platform Windows
Header netcon.h
DLL Hnetcfg.dll

See also


Internet Connection Sharing and Internet Connection Firewall Interfaces

Internet Connection Sharing and Internet Connection Firewall Reference