MIB_UDPROW_OWNER_MODULE structure (udpmib.h)

The MIB_UDPROW_OWNER_MODULE structure contains an entry from the IPv4 User Datagram Protocol (UDP) listener table on the local computer. This entry also includes any available ownership data and the process ID (PID) that issued the call to the bind function for the UDP endpoint.

Syntax

typedef struct _MIB_UDPROW_OWNER_MODULE {
  DWORD         dwLocalAddr;
  DWORD         dwLocalPort;
  DWORD         dwOwningPid;
  LARGE_INTEGER liCreateTimestamp;
  union {
    struct {
      int SpecificPortBind : 1;
    };
    int dwFlags;
  };
  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_UDPROW_OWNER_MODULE, *PMIB_UDPROW_OWNER_MODULE;

Members

dwLocalAddr

Type: DWORD

The IPv4 address of the UDP endpoint on the local computer.

A value of zero indicates a UDP listener willing to accept datagrams for any IP interface associated with the local computer.

dwLocalPort

Type: DWORD

The port number of the UDP endpoint on the local computer. This member is stored in network byte order.

dwOwningPid

Type: DWORD

The PID of the process that issued the call to the bind function for the UDP endpoint. This member is set to 0 when the PID is unavailable.

liCreateTimestamp

Type: LARGE_INTEGER

A FILETIME structure that indicates when the call to the bind function for the UDP endpoint occurred.

SpecificPortBind

Type: int

A value that indicates if a specific port was specified in the last context bind operation.

dwFlags

Type: int

A set of flags. This member is not currently used.

OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]

Type: ULONGLONG[TCPIP_OWNING_MODULE_SIZE]

An array of opaque data that contains ownership information.

Remarks

The MIB_UDPTABLE_OWNER_MODULE structure is returned by a call to GetExtendedUdpTable with the TableClass parameter set to UDP_TABLE_OWNER_MODULE from the UDP_TABLE_CLASS enumeration and the ulAf parameter set to AF_INET. The MIB_UDPTABLE_OWNER_MODULE structure contains an array of MIB_UDPROW_OWNER_MODULE structures.

The dwLocalAddr member is stored as a DWORD in the same format as the in_addr structure. In order to use the dwLocalAddr member, the ntohl or inet_ntoa functions in Windows Sockets or similar functions may be needed. On Windows Vista and later, the RtlIpv4AddressToString or RtlIpv4AddressToStringEx functions may be used to convert the IPv4 address in the dwLocalAddr member to a string without loading the Windows Sockets DLL.

The dwLocalPort member is in network byte order. In order to use the dwLocalPort member, the ntohs or inet_ntoa functions in Windows Sockets or similar functions may be needed.

The MIB_UDPTABLE_OWNER_MODULE structure contains the UDP listener table for IPv4 on the local computer. The name is based on the definition of this table in RFC 1213 published by the IETF. For more information, see http://www.ietf.org/rfc/rfc1213.txt. This table contains UDP endpoints for IPv4 that have been bound to an address. It should be noted that an application can create a UDP socket and bind it to an address for the sole purpose of sending a UDP datagram, with no intention of receiving packets using this socket (functioning as a listener).

On the Microsoft Windows Software Development Kit (SDK) released for Windows Vista and later, the organization of header files has changed. This structure is defined in the Udpmib.h header file, not in the Iprtrmib.h header file. Note that the Udpmib.h header file is automatically included in Iprtrmib.h, which is automatically included in the Iphlpapi.h header file. The Udpmib.h and Iprtrmib.h header files should never be used directly.

Requirements

Requirement Value
Minimum supported client Windows Vista, Windows XP with SP2 [desktop apps only]
Minimum supported server Windows Server 2008, Windows Server 2003 with SP1 [desktop apps only]
Header udpmib.h (include Iphlpapi.h)

See also

GetExtendedUdpTable

GetUdp6Table

GetUdpTable

MIB_UDP6ROW_OWNER_MODULE

MIB_UDP6TABLE_OWNER_MODULE

MIB_UDPTABLE_OWNER_MODULE

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

SYSTEMTIME

UDP_TABLE_CLASS

bind

in_addr

inet_ntoa

ntohl

ntohs