TRANSPORT_ADDRESS

typedef struct _TRANSPORT_ADDRESS {

    LONG        TAAddressCount;

    TA_ADDRESS  Address[1];

} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS;

 

TRANSPORT_ADDRESS defines the general format for an array of TDI driver-specific transport addresses.

Members

TAAddressCount

Specifies the number of elements in the array at Address.

Address[1]

Specifies an array of one or more TA_ADDRESS structures each specifying a transport address of a particular TDI_ADDRESS_TYPE_XXX.

Comments

Although any address specified in a TRANSPORT_ADDRESS structure is always driver-specific, all transports of a particular protocol type (for example, all NetBIOS transports or all IPX transports) use the same address format.

When it is given a TRANSPORT_ADDRESS structure, the transport uses the first recognizable address in the array at Address. For instance, if its client passes in several TDI_ADDRESS_TYPE_NETBIOS addresses, a NetBIOS transport would use only the first such address. If a transport can use some number of TDI_ADDRESS_TYPE_XXX addresses and it is given an array of mixed types, it uses only the first valid address of each such type.

A transport returns an error if it is given a TRANSPORT_ADDRESS structure containing elements of a type it is unable to parse. If the transport is given an address of a recognizable type that it cannot use, the transport can search the array elements for a usable address and return an error if it finds no valid address.

See Also

TA_ADDRESS, TA_APPLETALK_ADDR, TA_ADDRESS_IP, TA_ADDRESS_IPX, TA_NETBIOS_ADDRESS, TA_ADDRESS_NS, TA_ADDRESS_VNS