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 |
---|---|
|
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. |
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
IStaticPortMappingCollection::Remove