IStaticPortMappingCollection::Add method (natupnp.h)

The Add method creates a new port mapping and adds it to the collection.

Syntax

HRESULT Add(
  [in]  long               lExternalPort,
  [in]  BSTR               bstrProtocol,
  [in]  long               lInternalPort,
  [in]  BSTR               bstrInternalClient,
  [in]  VARIANT_BOOL       bEnabled,
  [in]  BSTR               bstrDescription,
  [out] IStaticPortMapping **ppSPM
);

Parameters

[in] lExternalPort

Specifies the external port for this port mapping.

[in] bstrProtocol

Specifies the protocol. This parameter should be either UDP or TCP.

[in] lInternalPort

Specifies the internal port for this port mapping.

[in] bstrInternalClient

Specifies the name of the client on the private network that uses this port mapping.

[in] bEnabled

Specifies whether the port is enabled.

[in] bstrDescription

Specifies a description for this port mapping.

[out] ppSPM

Pointer to an interface pointer that, on successful return, receives a pointer to an IStaticPortMapping interface.

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
E_ABORT
The operation was aborted.
E_FAIL
An unspecified error occurred.
E_INVALIDARG
One of the parameters is invalid.
E_NOINTERFACE
A specified interface is not supported.
E_NOTIMPL
A specified method is not implemented.
E_OUTOFMEMORY
The method was unable to allocate required memory.
E_POINTER
A pointer passed as a parameter is not valid.
E_UNEXPECTED
The method failed for unknown reasons.

Remarks

The NAT API with UPnP technology uses the combination of the external port and the protocol to identify the port mapping.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header natupnp.h
DLL Hnetcfg.dll

See also

IStaticPortMapping

IStaticPortMappingCollection

IStaticPortMappingCollection::Remove

Network Address Translation Traversal Interfaces

Network Address Translation Traversal Reference