CPNATFWT_TRANSPORT_ID Structure

[This documentation is preliminary and is subject to change.]

The CPNATFWT_TRANSPORT_ID structure represents a Transport ID used by the Connectivity Platform (CP) and Providers.

Syntax

typedef struct _CPNATFWT_TRANSPORT_ID {
  USHORT size;
  BYTE *  transportId;
} CPNATFWT_TRANSPORT_ID;

Members

  • size
    The size, in bytes, of the Transport ID.

  • transportId
    A pointer to the binary representation of the Transport ID .

Remarks

The CPNATFWT_TRANSPORT_ID structure is used by the Connectivity Platform feature supported on Windows 7 and later.

The Connectivity Platform (CP) provides a mechanism for specialized applications and services to provide custom network traversal of network address translation (NAT) and firewalls on Windows 7 and later. A Provider registers with the Connectivity Platform to provide network traversal for other applications that use standard Windows networking APIs such as Windows Sockets.

The CPNATFWT_TRANSPORT_ID structure represents a transport ID used by the Connectivity Platform (CP) and Providers. A Transport ID is a binary object that represents an IPv4 or an IPv6 address. A Provider is expected to use the CPNATFWT_TRANSPORT_ID structure only for binary comparison with another Transport ID, but the knowledge of this structure is important if a Provider wants to copy Transport IDs. Since the structure contains a pointer to a binary Transport ID representation, the Provider may want to implement a deep copy in some circumstances (to send the contents of the Transport ID to remote peers, for example). Transport IDs are generated by the Connectivity Platform and are never manufactured by a Provider.

A pointer to a CPNATFWT_TRANSPORT_ID structure is passed in the localTransportId and remoteTransportId parameters to the CPNatfwtIndicateReceivedBuffers function when a Provider instance receives data from a peer to indicate to the Connectivity Platform that received buffers are available.

A pointer to a CPNATFWT_TRANSPORT_ID structure is passed in the transportId parameter to the CPNATFWT_PROVIDER_ADD_TRANSPORT_ID, CPNATFWT_PROVIDER_REMOVE_TRANSPORT_ID, and CPNATFWT_PROVIDER_REACH_TRANSPORT_ID functions implemented by a Provider. The CPNATFWT_PROVIDER_ADD_TRANSPORT_ID function is called by the CP to associate a transport ID with the Provider instance. The CPNATFWT_PROVIDER_REMOVE_TRANSPORT_ID function is called by CP to remove a transport ID previously associated with the Provider instance. The CPNATFWT_PROVIDER_REACH_TRANSPORT_ID function is called by CP to check if a transport ID is unambiguously reachable over the Provider instance.

A pointer to a CPNATFWT_TRANSPORT_ID structure is also passed in the localTransportId and remoteTransportId parameters to the CPNATFWT_PROVIDER_SEND_BUFFERS function implemented by a Provider. This function is called by the Connectivity Platform when there is outgoing traffic generated by an application and the Connectivity Platform has determined that the destination transport ID is unambiguously reachable over the Provider instance.

Requirements

Minimum supported client Windows 7
Minimum supported server None supported
Header Iphlpapi.h (include Iphlpapi.h)

See Also

CPNATFWT_PROVIDER_ADD_TRANSPORT_ID
CPNATFWT_PROVIDER_REACH_TRANSPORT_ID
CPNATFWT_PROVIDER_REMOVE_TRANSPORT_ID
CPNATFWT_PROVIDER_SEND_BUFFERS
CPNatfwtIndicateReceivedBuffers

Send comments about this topic to Microsoft

Build date: 2/3/2009