Headers diff for iphlpapi.dll between 5.2.3790.3959-Windows 5.0 and 6.0.6002.18005-Windows 6.0 versions



 icmpapi.h (5.2.3790.3959-Windows 5.0)   icmpapi.h (6.0.6002.18005-Windows 6.0) 
skipping to change at line 65 skipping to change at line 65
// is available by calling GetLastError(). // is available by calling GetLastError().
// //
//-- //--
HANDLE HANDLE
WINAPI WINAPI
IcmpCreateFile( IcmpCreateFile(
VOID VOID
); );
#if (NTDDI_VERSION >= NTDDI_WINXP)
//++ //++
// //
// Routine Name: // Routine Name:
// //
// Icmp6CreateFile // Icmp6CreateFile
// //
// Routine Description: // Routine Description:
// //
// Opens a handle on which ICMPv6 Echo Requests can be issued. // Opens a handle on which ICMPv6 Echo Requests can be issued.
// //
skipping to change at line 91 skipping to change at line 92
// An open file handle or INVALID_HANDLE_VALUE. Extended error information // An open file handle or INVALID_HANDLE_VALUE. Extended error information
// is available by calling GetLastError(). // is available by calling GetLastError().
// //
//-- //--
HANDLE HANDLE
WINAPI WINAPI
Icmp6CreateFile( Icmp6CreateFile(
VOID VOID
); );
#endif
//++ //++
// //
// Routine Name: // Routine Name:
// //
// IcmpCloseHandle // IcmpCloseHandle
// //
// Routine Description: // Routine Description:
// //
// Closes a handle opened by ICMPOpenFile. // Closes a handle opened by ICMPOpenFile.
skipping to change at line 119 skipping to change at line 121
// error information is available by calling GetLastError(). // error information is available by calling GetLastError().
// //
//-- //--
BOOL BOOL
WINAPI WINAPI
IcmpCloseHandle( IcmpCloseHandle(
HANDLE IcmpHandle HANDLE IcmpHandle
); );
#if (NTDDI_VERSION >= NTDDI_WINXP)
//++ //++
// //
// Routine Name: // Routine Name:
// //
// IcmpSendEcho // IcmpSendEcho
// //
// Routine Description: // Routine Description:
// //
// Sends an ICMP Echo request and returns any replies. The // Sends an ICMP Echo request and returns any replies. The
// call returns when the timeout has expired or the reply buffer // call returns when the timeout has expired or the reply buffer
skipping to change at line 324 skipping to change at line 327
LPVOID ReplyBuffer, LPVOID ReplyBuffer,
DWORD ReplySize DWORD ReplySize
); );
DWORD DWORD
Icmp6ParseReplies( Icmp6ParseReplies(
LPVOID ReplyBuffer, LPVOID ReplyBuffer,
DWORD ReplySize DWORD ReplySize
); );
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // _ICMP_INCLUDED_ #endif // _ICMP_INCLUDED_
 End of changes. 4 change blocks. 
0 lines changed or deleted 4 lines changed or added


 iphlpapi.h (5.2.3790.3959-Windows 5.0)   iphlpapi.h (6.0.6002.18005-Windows 6.0) 
skipping to change at line 28 skipping to change at line 28
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// IPRTRMIB.H has the definitions of the strcutures used to set and get // // IPRTRMIB.H has the definitions of the structures used to set and get //
// information // // information //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
#include <iprtrmib.h> #include <iprtrmib.h>
#include <ipexport.h> #include <ipexport.h>
#include <iptypes.h> #include <iptypes.h>
#include <tcpestats.h>
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// The GetXXXTable APIs take a buffer and a size of buffer. If the buffer // // The GetXXXTable APIs take a buffer and a size of buffer. If the buffer //
// is not large enough, the APIs return ERROR_INSUFFICIENT_BUFFER and // // is not large enough, the APIs return ERROR_INSUFFICIENT_BUFFER and //
// *pdwSize is the required buffer size // // *pdwSize is the required buffer size //
// The bOrder is a BOOLEAN, which if TRUE sorts the table according to // // The bOrder is a BOOLEAN, which if TRUE sorts the table according to //
// MIB-II (RFC XXXX) // // MIB-II (RFC XXXX) //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
skipping to change at line 108 skipping to change at line 109
IN OUT PULONG pdwSize, IN OUT PULONG pdwSize,
IN BOOL bOrder IN BOOL bOrder
); );
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Gets the current IP Address to Physical Address (ARP) mapping // // Gets the current IP Address to Physical Address (ARP) mapping //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD ULONG
WINAPI WINAPI
GetIpNetTable( GetIpNetTable(
OUT PMIB_IPNETTABLE pIpNetTable, OUT PMIB_IPNETTABLE IpNetTable,
IN OUT PULONG pdwSize, IN OUT PULONG SizePointer,
IN BOOL bOrder IN BOOL Order
); );
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Gets the IP Routing Table (RFX XXXX) // // Gets the IP Routing Table (RFX XXXX) //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD DWORD
WINAPI WINAPI
skipping to change at line 136 skipping to change at line 137
IN OUT PULONG pdwSize, IN OUT PULONG pdwSize,
IN BOOL bOrder IN BOOL bOrder
); );
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Gets TCP Connection/UDP Listener Table // // Gets TCP Connection/UDP Listener Table //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD ULONG
WINAPI WINAPI
GetTcpTable( GetTcpTable(
OUT PMIB_TCPTABLE pTcpTable, OUT PMIB_TCPTABLE TcpTable,
IN OUT PDWORD pdwSize, IN OUT PULONG SizePointer,
IN BOOL bOrder IN BOOL Order
); );
DWORD DWORD
WINAPI WINAPI
GetExtendedTcpTable(
OUT PVOID pTcpTable,
IN OUT PDWORD pdwSize,
IN BOOL bOrder,
IN ULONG ulAf,
IN TCP_TABLE_CLASS TableClass,
IN ULONG Reserved
);
DWORD
WINAPI
GetOwnerModuleFromTcpEntry(
IN PMIB_TCPROW_OWNER_MODULE pTcpEntry,
IN TCPIP_OWNER_MODULE_INFO_CLASS Class,
OUT PVOID pBuffer,
IN OUT PDWORD pdwSize
);
ULONG
WINAPI
GetUdpTable( GetUdpTable(
OUT PMIB_UDPTABLE pUdpTable, OUT PMIB_UDPTABLE UdpTable,
IN OUT PDWORD pdwSize, IN OUT PULONG SizePointer,
IN BOOL bOrder IN BOOL Order
);
DWORD
WINAPI
GetExtendedUdpTable(
OUT PVOID pUdpTable,
IN OUT PDWORD pdwSize,
IN BOOL bOrder,
IN ULONG ulAf,
IN UDP_TABLE_CLASS TableClass,
IN ULONG Reserved
);
DWORD
WINAPI
GetOwnerModuleFromUdpEntry(
IN PMIB_UDPROW_OWNER_MODULE pUdpEntry,
IN TCPIP_OWNER_MODULE_INFO_CLASS Class,
OUT PVOID pBuffer,
IN OUT PDWORD pdwSize
);
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
ULONG
WINAPI
GetTcpTable2(
OUT PMIB_TCPTABLE2 TcpTable,
IN OUT PULONG SizePointer,
IN BOOL Order
);
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN)
#if (NTDDI_VERSION < NTDDI_LONGHORN)
//
// Deprecated APIs, Added for documentation.
//
DWORD
AllocateAndGetTcpExTableFromStack(
OUT PVOID *ppTcpTable,
IN BOOL bOrder,
IN HANDLE hHeap,
IN DWORD dwFlags,
IN DWORD dwFamily
);
DWORD
AllocateAndGetUdpExTableFromStack(
OUT PVOID *ppUdpTable,
IN BOOL bOrder,
IN HANDLE hHeap,
IN DWORD dwFlags,
IN DWORD dwFamily
);
#endif // (NTDDI_VERSION < NTDDI_LONGHORN)
#ifdef _WS2IPDEF_
//
// The following definitions require Winsock2.
//
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
ULONG
WINAPI
GetTcp6Table(
OUT PMIB_TCP6TABLE TcpTable,
IN OUT PULONG SizePointer,
IN BOOL Order
);
ULONG
WINAPI
GetTcp6Table2(
OUT PMIB_TCP6TABLE2 TcpTable,
IN OUT PULONG SizePointer,
IN BOOL Order
);
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN)
#ifdef WINAPI
ULONG
WINAPI
GetPerTcpConnectionEStats(
PMIB_TCPROW Row,
TCP_ESTATS_TYPE EstatsType,
__out_bcount_opt(RwSize) PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
__out_bcount_opt(RosSize) PUCHAR Ros,
ULONG RosVersion,
ULONG RosSize,
__out_bcount_opt(RodSize) PUCHAR Rod,
ULONG RodVersion,
ULONG RodSize
);
ULONG
WINAPI
SetPerTcpConnectionEStats(
PMIB_TCPROW Row,
TCP_ESTATS_TYPE EstatsType,
__in_bcount(RwSize) PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
ULONG Offset
);
#ifdef _WS2IPDEF_
ULONG
WINAPI
GetPerTcp6ConnectionEStats(
PMIB_TCP6ROW Row,
TCP_ESTATS_TYPE EstatsType,
__out_bcount_opt(RwSize) PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
__out_bcount_opt(RosSize) PUCHAR Ros,
ULONG RosVersion,
ULONG RosSize,
__out_bcount_opt(RodSize) PUCHAR Rod,
ULONG RodVersion,
ULONG RodSize
);
ULONG
WINAPI
SetPerTcp6ConnectionEStats(
PMIB_TCP6ROW Row,
TCP_ESTATS_TYPE EstatsType,
__in_bcount(RwSize) PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
ULONG Offset
);
#endif // _WS2IPDEF_
#endif // WINAPI
DWORD
WINAPI
GetOwnerModuleFromTcp6Entry(
IN PMIB_TCP6ROW_OWNER_MODULE pTcpEntry,
IN TCPIP_OWNER_MODULE_INFO_CLASS Class,
OUT PVOID pBuffer,
IN OUT PDWORD pdwSize
);
ULONG
WINAPI
GetUdp6Table(
OUT PMIB_UDP6TABLE Udp6Table,
IN OUT PULONG SizePointer,
IN BOOL Order
);
DWORD
WINAPI
GetOwnerModuleFromUdp6Entry(
IN PMIB_UDP6ROW_OWNER_MODULE pUdpEntry,
IN TCPIP_OWNER_MODULE_INFO_CLASS Class,
OUT PVOID pBuffer,
IN OUT PDWORD pdwSize
);
#endif // _WS2IPDEF_
DWORD
GetOwnerModuleFromPidAndInfo(
IN ULONG ulPid,
IN ULONGLONG *pInfo,
IN TCPIP_OWNER_MODULE_INFO_CLASS Class,
OUT PVOID pBuffer,
IN OUT PDWORD pdwSize
); );
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Gets IP/ICMP/TCP/UDP Statistics // // Gets IP/ICMP/TCP/UDP Statistics //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD #if (NTDDI_VERSION >= NTDDI_WIN2K)
ULONG
WINAPI WINAPI
GetIpStatistics( GetIpStatistics(
OUT PMIB_IPSTATS pStats OUT PMIB_IPSTATS Statistics
); );
DWORD ULONG
WINAPI WINAPI
GetIpStatisticsEx( GetIpStatisticsEx(
OUT PMIB_IPSTATS pStats, OUT PMIB_IPSTATS Statistics,
IN DWORD dwFamily IN ULONG Family
); );
DWORD ULONG
WINAPI
SetIpStatisticsEx(
IN PMIB_IPSTATS Statistics,
IN ULONG Family
);
#endif
ULONG
WINAPI WINAPI
GetIcmpStatistics( GetIcmpStatistics(
OUT PMIB_ICMP pStats OUT PMIB_ICMP Statistics
); );
DWORD #if (NTDDI_VERSION >= NTDDI_XPSP1)
ULONG
WINAPI WINAPI
GetIcmpStatisticsEx( GetIcmpStatisticsEx(
OUT PMIB_ICMP_EX pStats, OUT PMIB_ICMP_EX Statistics,
IN DWORD dwFamily IN ULONG Family
); );
#endif
DWORD #if (NTDDI_VERSION >= NTDDI_WIN2K)
ULONG
WINAPI WINAPI
GetTcpStatistics( GetTcpStatistics(
OUT PMIB_TCPSTATS pStats OUT PMIB_TCPSTATS Statistics
); );
DWORD ULONG
WINAPI WINAPI
GetTcpStatisticsEx( GetTcpStatisticsEx(
OUT PMIB_TCPSTATS pStats, OUT PMIB_TCPSTATS Statistics,
IN DWORD dwFamily IN ULONG Family
); );
#endif
DWORD ULONG
WINAPI WINAPI
GetUdpStatistics( GetUdpStatistics(
OUT PMIB_UDPSTATS pStats OUT PMIB_UDPSTATS Stats
); );
DWORD ULONG
WINAPI WINAPI
GetUdpStatisticsEx( GetUdpStatisticsEx(
OUT PMIB_UDPSTATS pStats, OUT PMIB_UDPSTATS Statistics,
IN DWORD dwFamily IN ULONG Family
); );
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Used to set the ifAdminStatus on an interface. The only fields of the // // Used to set the ifAdminStatus on an interface. The only fields of the //
// MIB_IFROW that are relevant are the dwIndex (index of the interface // // MIB_IFROW that are relevant are the dwIndex (index of the interface //
// whose status needs to be set) and the dwAdminStatus which can be either // // whose status needs to be set) and the dwAdminStatus which can be either //
// MIB_IF_ADMIN_STATUS_UP or MIB_IF_ADMIN_STATUS_DOWN // // MIB_IF_ADMIN_STATUS_UP or MIB_IF_ADMIN_STATUS_DOWN //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
skipping to change at line 263 skipping to change at line 475
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Used to set the ipForwarding to ON or OFF (currently only ON->OFF is // // Used to set the ipForwarding to ON or OFF (currently only ON->OFF is //
// allowed) and to set the defaultTTL. If only one of the fields needs to // // allowed) and to set the defaultTTL. If only one of the fields needs to //
// be modified and the other needs to be the same as before the other field // // be modified and the other needs to be the same as before the other field //
// needs to be set to MIB_USE_CURRENT_TTL or MIB_USE_CURRENT_FORWARDING as // // needs to be set to MIB_USE_CURRENT_TTL or MIB_USE_CURRENT_FORWARDING as //
// the case may be // // the case may be //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
#if (NTDDI_VERSION >= NTDDI_WIN2K)
DWORD DWORD
WINAPI WINAPI
SetIpStatistics( SetIpStatistics(
IN PMIB_IPSTATS pIpStats IN PMIB_IPSTATS pIpStats
); );
#endif
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Used to set the defaultTTL. // // Used to set the defaultTTL. //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD DWORD
WINAPI WINAPI
SetIpTTL( SetIpTTL(
skipping to change at line 364 skipping to change at line 578
IN PIP_INTERFACE_INFO pIfTable, IN PIP_INTERFACE_INFO pIfTable,
OUT PULONG dwOutBufLen OUT PULONG dwOutBufLen
); );
DWORD DWORD
WINAPI WINAPI
GetUniDirectionalAdapterInfo(OUT PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo, GetUniDirectionalAdapterInfo(OUT PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS pIPIfInfo,
OUT PULONG dwOutBufLen OUT PULONG dwOutBufLen
); );
#ifndef NhpAllocateAndGetInterfaceInfoFromStack_DEFINED #if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
#define NhpAllocateAndGetInterfaceInfoFromStack_DEFINED #ifndef NHPALLOCATEANDGETINTERFACEINFOFROMSTACK_DEFINED
#define NHPALLOCATEANDGETINTERFACEINFOFROMSTACK_DEFINED
DWORD DWORD
WINAPI WINAPI
NhpAllocateAndGetInterfaceInfoFromStack( NhpAllocateAndGetInterfaceInfoFromStack(
OUT IP_INTERFACE_NAME_INFO **ppTable, OUT IP_INTERFACE_NAME_INFO **ppTable,
OUT PDWORD pdwCount, OUT PDWORD pdwCount,
IN BOOL bOrder, IN BOOL bOrder,
IN HANDLE hHeap, IN HANDLE hHeap,
IN DWORD dwFlags IN DWORD dwFlags
); );
#endif #endif
#endif // (NTDDI_VERSION >= NTDDI_WIN2KSP1)
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// Gets the "best" outgoing interface for the specified destination address // // Gets the "best" outgoing interface for the specified destination address //
// // // //
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
DWORD DWORD
WINAPI WINAPI
GetBestInterface( GetBestInterface(
skipping to change at line 443 skipping to change at line 659
BOOL BOOL
WINAPI WINAPI
CancelIPChangeNotify( CancelIPChangeNotify(
IN LPOVERLAPPED notifyOverlapped IN LPOVERLAPPED notifyOverlapped
); );
DWORD DWORD
WINAPI WINAPI
GetAdapterIndex( GetAdapterIndex(
IN LPWSTR AdapterName, __in IN LPWSTR AdapterName,
OUT PULONG IfIndex __inout OUT PULONG IfIndex
); );
DWORD DWORD
WINAPI WINAPI
AddIPAddress( AddIPAddress(
IPAddr Address, IPAddr Address,
IPMask IpMask, IPMask IpMask,
DWORD IfIndex, DWORD IfIndex,
PULONG NTEContext, PULONG NTEContext,
PULONG NTEInstance PULONG NTEInstance
); );
DWORD DWORD
WINAPI WINAPI
DeleteIPAddress( DeleteIPAddress(
ULONG NTEContext ULONG NTEContext
); );
#if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
DWORD DWORD
WINAPI WINAPI
GetNetworkParams( GetNetworkParams(
PFIXED_INFO pFixedInfo, PULONG pOutBufLen PFIXED_INFO pFixedInfo, PULONG pOutBufLen
); );
#endif
DWORD ULONG
WINAPI WINAPI
GetAdaptersInfo( GetAdaptersInfo(
PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen IN PIP_ADAPTER_INFO AdapterInfo,
IN OUT PULONG SizePointer
); );
PIP_ADAPTER_ORDER_MAP PIP_ADAPTER_ORDER_MAP
WINAPI WINAPI
GetAdapterOrderMap( GetAdapterOrderMap(
VOID VOID
); );
#ifdef _WINSOCK2API_ #ifdef _WINSOCK2API_
// //
// The following functions require Winsock2. // The following functions require Winsock2.
// //
DWORD ULONG
WINAPI WINAPI
GetAdaptersAddresses( GetAdaptersAddresses(
IN ULONG Family, IN ULONG Family,
IN DWORD Flags, IN ULONG Flags,
IN PVOID Reserved, IN PVOID Reserved,
OUT PIP_ADAPTER_ADDRESSES pAdapterAddresses, __out_bcount_opt(*SizePointer) PIP_ADAPTER_ADDRESSES AdapterAddresses,
IN OUT PULONG pOutBufLen IN OUT PULONG SizePointer
); );
#endif #endif
#if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
DWORD DWORD
WINAPI WINAPI
GetPerAdapterInfo( GetPerAdapterInfo(
ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen ULONG IfIndex, PIP_PER_ADAPTER_INFO pPerAdapterInfo, PULONG pOutBufLen
); );
#endif
DWORD DWORD
WINAPI WINAPI
IpReleaseAddress( IpReleaseAddress(
PIP_ADAPTER_INDEX_MAP AdapterInfo PIP_ADAPTER_INDEX_MAP AdapterInfo
); );
DWORD DWORD
WINAPI WINAPI
IpRenewAddress( IpRenewAddress(
PIP_ADAPTER_INDEX_MAP AdapterInfo PIP_ADAPTER_INDEX_MAP AdapterInfo
); );
DWORD DWORD
WINAPI WINAPI
SendARP( SendARP(
IPAddr DestIP, IPAddr DestIP,
IPAddr SrcIP, IPAddr SrcIP,
PULONG pMacAddr, PVOID pMacAddr,
PULONG PhyAddrLen PULONG PhyAddrLen
); );
BOOL BOOL
WINAPI WINAPI
GetRTTAndHopCount( GetRTTAndHopCount(
IPAddr DestIpAddress, IPAddr DestIpAddress,
PULONG HopCount, PULONG HopCount,
ULONG MaxHops, ULONG MaxHops,
PULONG RTT PULONG RTT
skipping to change at line 568 skipping to change at line 789
OVERLAPPED *pOverLapped OVERLAPPED *pOverLapped
); );
DWORD DWORD
WINAPI WINAPI
RestoreMediaSense( RestoreMediaSense(
OVERLAPPED* pOverlapped, OVERLAPPED* pOverlapped,
LPDWORD lpdwEnableCount OPTIONAL LPDWORD lpdwEnableCount OPTIONAL
); );
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
DWORD DWORD
WINAPI WINAPI
GetIpErrorString( GetIpErrorString(
IN IP_STATUS ErrorCode, IN IP_STATUS ErrorCode,
OUT PWCHAR Buffer, __out_ecount_opt(*Size + 1) PWSTR Buffer,
IN OUT PDWORD Size __inout PDWORD Size
);
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
#ifdef _WS2DEF_
ULONG
WINAPI
ResolveNeighbor(
IN SOCKADDR *NetworkAddress,
OUT PVOID PhysicalAddress,
IN OUT PULONG PhysicalAddressLength
);
#endif
#endif
//
// Port reservation API routines.
//
ULONG
WINAPI
CreatePersistentTcpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts,
OUT PULONG64 Token
);
ULONG
WINAPI
CreatePersistentUdpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts,
OUT PULONG64 Token
);
ULONG
WINAPI
DeletePersistentTcpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts
);
ULONG
WINAPI
DeletePersistentUdpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts
);
ULONG
WINAPI
LookupPersistentTcpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts,
OUT PULONG64 Token
);
ULONG
WINAPI
LookupPersistentUdpPortReservation(
IN USHORT StartPort,
IN USHORT NumberOfPorts,
OUT PULONG64 Token
); );
//
// Network String parsing API
//
#define NET_STRING_IPV4_ADDRESS 0x00000001
// The string identifies an IPv4 Host/router using literal address.
// (port or prefix not allowed)
#define NET_STRING_IPV4_SERVICE 0x00000002
// The string identifies an IPv4 service using literal address.
// (port required; prefix not allowed)
#define NET_STRING_IPV4_NETWORK 0x00000004
// The string identifies an IPv4 network.
// (prefix required; port not allowed)
#define NET_STRING_IPV6_ADDRESS 0x00000008
// The string identifies an IPv6 Host/router using literal address.
// (port or prefix not allowed; scope-id allowed)
#define NET_STRING_IPV6_ADDRESS_NO_SCOPE 0x00000010
// The string identifies an IPv6 Host/router using literal address
// where the interface context is already known.
// (port or prefix not allowed; scope-id not allowed)
#define NET_STRING_IPV6_SERVICE 0x00000020
// The string identifies an IPv6 service using literal address.
// (port required; prefix not allowed; scope-id allowed)
#define NET_STRING_IPV6_SERVICE_NO_SCOPE 0x00000040
// The string identifies an IPv6 service using literal address
// where the interface context is already known.
// (port required; prefix not allowed; scope-id not allowed)
#define NET_STRING_IPV6_NETWORK 0x00000080
// The string identifies an IPv6 network.
// (prefix required; port or scope-id not allowed)
#define NET_STRING_NAMED_ADDRESS 0x00000100
// The string identifies an Internet Host using DNS.
// (port or prefix or scope-id not allowed)
#define NET_STRING_NAMED_SERVICE 0x00000200
// The string identifies an Internet service using DNS.
// (port required; prefix or scope-id not allowed)
#define NET_STRING_IP_ADDRESS (NET_STRING_IPV4_ADDRESS | \
NET_STRING_IPV6_ADDRESS)
#define NET_STRING_IP_ADDRESS_NO_SCOPE (NET_STRING_IPV4_ADDRESS | \
NET_STRING_IPV6_ADDRESS_NO_SCOPE)
#define NET_STRING_IP_SERVICE (NET_STRING_IPV4_SERVICE | \
NET_STRING_IPV6_SERVICE)
#define NET_STRING_IP_SERVICE_NO_SCOPE (NET_STRING_IPV4_SERVICE | \
NET_STRING_IPV6_SERVICE_NO_SCOPE)
#define NET_STRING_IP_NETWORK (NET_STRING_IPV4_NETWORK | \
NET_STRING_IPV6_NETWORK)
#define NET_STRING_ANY_ADDRESS (NET_STRING_NAMED_ADDRESS | \
NET_STRING_IP_ADDRESS)
#define NET_STRING_ANY_ADDRESS_NO_SCOPE (NET_STRING_NAMED_ADDRESS | \
NET_STRING_IP_ADDRESS_NO_SCOPE)
#define NET_STRING_ANY_SERVICE (NET_STRING_NAMED_SERVICE | \
NET_STRING_IP_SERVICE)
#define NET_STRING_ANY_SERVICE_NO_SCOPE (NET_STRING_NAMED_SERVICE | \
NET_STRING_IP_SERVICE_NO_SCOPE)
typedef enum NET_ADDRESS_FORMAT_
{
NET_ADDRESS_FORMAT_UNSPECIFIED = 0,
NET_ADDRESS_DNS_NAME,
NET_ADDRESS_IPV4,
NET_ADDRESS_IPV6
} NET_ADDRESS_FORMAT;
#if defined (_WS2DEF_) && defined (_WS2IPDEF_) && defined(_WINDNS_INCLUDED_)
// app must include winsock2.h, ws2ipdef.h, and windns.h to use this API
typedef struct NET_ADDRESS_INFO_
{
NET_ADDRESS_FORMAT Format;
union
{
struct {
WCHAR Address[DNS_MAX_NAME_BUFFER_LENGTH];
WCHAR Port[6];
} NamedAddress;
SOCKADDR_IN Ipv4Address;
SOCKADDR_IN6 Ipv6Address;
SOCKADDR IpAddress;
};
} NET_ADDRESS_INFO, *PNET_ADDRESS_INFO;
DWORD
WINAPI
ParseNetworkString(
IN CONST WCHAR* NetworkString,
IN DWORD Types,
OUT PNET_ADDRESS_INFO AddressInfo OPTIONAL,
OUT USHORT* PortNumber OPTIONAL,
OUT BYTE* PrefixLength OPTIONAL
);
#endif
#include <netioapi.h>
#endif // (NTDDI_VERSION >= NTDDI_LONGHORN)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif //__IPHLPAPI_H__ #endif //__IPHLPAPI_H__
 End of changes. 43 change blocks. 
47 lines changed or deleted 442 lines changed or added

This html diff was produced by rfcdiff 1.41.