2.2.2.48 TSVIP_SOCKADDR

The TSVIP_SOCKADDR structure defines a socket address.

 typedef  struct _TSVIP_SOCKADDR {
 #ifdef __midl
   union switch (unsigned short sin_family) u
   {
    case 2:                       // AF_INET
       struct {
           USHORT  sin_port;
           ULONG   in_addr;
           UCHAR   sin_zero[8];
       }  ipv4;
       case 23:                      // AF_INET6
         struct {
           USHORT  sin6_port;
           ULONG   sin6_flowinfo;
           USHORT  sin6_addr[8];
           ULONG   sin6_scope_id;
       } ipv6;
     };
 #else
     USHORT  sin_family;
     union
     {
       struct  {
           USHORT  sin_port;
           ULONG   in_addr;
           UCHAR   sin_zero[8];
      } ipv4;
       struct {
           USHORT  sin6_port;
           ULONG   sin6_flowinfo;
           USHORT  sin6_addr[8];
           ULONG   sin6_scope_id;
         }ipv6;
     } u;
 #endif
 } TSVIP_SOCKADDR,
   *PTSVIP_SOCKADDR;

ipv4: IPv4 address. For more information, see [MSDN-TDIADDRESS].

sin_port: Specifies a TCP or UDP port number.

in_addr: Indicates the IP address.

sin_zero: An array filled with zeros.

ipv6: IPv6 flow information.

sin6_port: Specifies a TCP or UDP port number.

sin6_flowinfo: IPv6 flow information.

sin6_addr: Indicates the IP address.

sin6_scope_id: Set of interfaces for a scope. For more information, see [MSDN-SOCKADDR_IN6].