INATEventManager::put_ExternalIPAddressCallback method (natupnp.h)
The put_ExternalIPAddressCallback method enables the NAT application with UPnP technology to register a callback interface with the NAT. The system calls the first method in this callback interface if the external IP address of the NAT changes.
Syntax
HRESULT put_ExternalIPAddressCallback(
[in] IUnknown *pUnk
);
Parameters
[in] pUnk
Pointer to an object that supports either the IUnknown interface or the IDispatch interface. See the Remarks section for more information.
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 object referred to by pUnk must either support the INATExternalIPAddressCallback interface or the IDispatch interface. The NAT first queries pUnk for the INATExternalIPAddressCallback interface. If this interface is not supported, the NAT queries pUnk for the IDispatch interface. If the IDispatch interface is not supported, the put_ExternalIPAddressCallback method returns E_FAIL.
If only IDispatch is supported, the NAT invokes the callback by calling IDispatch::Invoke with the dispatch ID specified as zero, which indicates the default method. This IDispatch method is passed the same parameters as the INATExternalIPAddressCallback method, except that the first parameter passed is a string that indicates the reason the callback is invoked.
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 |