Headers diff for iphlpapi.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 fltdefs.h (6.3.9600.17415-Windows 8.1)   fltdefs.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 30 skipping to change at line 30
#ifndef _FLTDEFS_H #ifndef _FLTDEFS_H
#define _FLTDEFS_H #define _FLTDEFS_H
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h> #include <winapifamily.h>
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef PVOID FILTER_HANDLE, *PFILTER_HANDLE; typedef PVOID FILTER_HANDLE, *PFILTER_HANDLE;
typedef PVOID INTERFACE_HANDLE, *PINTERFACE_HANDLE; typedef PVOID INTERFACE_HANDLE, *PINTERFACE_HANDLE;
#ifdef _M_CEE_PURE #ifdef _M_CEE_PURE
#define PFEXPORT #define PFEXPORT
#else #else
#define PFEXPORT __declspec(dllexport) #define PFEXPORT __declspec(dllexport)
#endif #endif
skipping to change at line 401 skipping to change at line 401
PFAPIENTRY PFAPIENTRY
PfTestPacket( PfTestPacket(
INTERFACE_HANDLE pInInterface OPTIONAL, INTERFACE_HANDLE pInInterface OPTIONAL,
INTERFACE_HANDLE pOutInterface OPTIONAL, INTERFACE_HANDLE pOutInterface OPTIONAL,
DWORD cBytes, DWORD cBytes,
PBYTE pbPacket, PBYTE pbPacket,
PPFFORWARD_ACTION ppAction PPFFORWARD_ACTION ppAction
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#endif #endif
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 icmpapi.h (6.3.9600.17415-Windows 8.1)   icmpapi.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 31 skipping to change at line 31
--*/ --*/
#ifndef _ICMP_INCLUDED_ #ifndef _ICMP_INCLUDED_
#define _ICMP_INCLUDED_ #define _ICMP_INCLUDED_
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h> #include <winapifamily.h>
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// //
// Exported Routines. // Exported Routines.
// //
//++ //++
skipping to change at line 369 skipping to change at line 369
_Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer, _Out_writes_bytes_(ReplySize) LPVOID ReplyBuffer,
_In_range_(>, sizeof(ICMPV6_ECHO_REPLY) + 8) _In_range_(>, sizeof(ICMPV6_ECHO_REPLY) + 8)
DWORD ReplySize DWORD ReplySize
); );
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#endif // _ICMP_INCLUDED_ #endif // _ICMP_INCLUDED_
 End of changes. 2 change blocks. 
3 lines changed or deleted 3 lines changed or added


 iphlpapi.h (6.3.9600.17415-Windows 8.1)   iphlpapi.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 23 skipping to change at line 23
--*/ --*/
#ifndef __IPHLPAPI_H__ #ifndef __IPHLPAPI_H__
#define __IPHLPAPI_H__ #define __IPHLPAPI_H__
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#include <winapifamily.h> #include <winapifamily.h>
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// IPRTRMIB.H has the definitions of the structures 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> #include <tcpestats.h>
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////
// // // //
// 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 219 skipping to change at line 225
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
ULONG ULONG
WINAPI WINAPI
GetTcpTable2( GetTcpTable2(
_Out_writes_bytes_opt_(*SizePointer) PMIB_TCPTABLE2 TcpTable, _Out_writes_bytes_opt_(*SizePointer) PMIB_TCPTABLE2 TcpTable,
_Inout_ PULONG SizePointer, _Inout_ PULONG SizePointer,
_In_ BOOL Order _In_ BOOL Order
); );
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (NTDDI_VERSION < NTDDI_VISTA) #if (NTDDI_VERSION < NTDDI_VISTA)
// //
// Deprecated APIs, Added for documentation. // Deprecated APIs, Added for documentation.
// //
DWORD DWORD
AllocateAndGetTcpExTableFromStack( AllocateAndGetTcpExTableFromStack(
_Outptr_ PVOID *ppTcpTable, _Outptr_ PVOID *ppTcpTable,
_In_ BOOL bOrder, _In_ BOOL bOrder,
_In_ HANDLE hHeap, _In_ HANDLE hHeap,
skipping to change at line 244 skipping to change at line 256
AllocateAndGetUdpExTableFromStack( AllocateAndGetUdpExTableFromStack(
_Outptr_ PVOID *ppUdpTable, _Outptr_ PVOID *ppUdpTable,
_In_ BOOL bOrder, _In_ BOOL bOrder,
_In_ HANDLE hHeap, _In_ HANDLE hHeap,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ DWORD dwFamily _In_ DWORD dwFamily
); );
#endif // (NTDDI_VERSION < NTDDI_VISTA) #endif // (NTDDI_VERSION < NTDDI_VISTA)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#ifdef _WS2IPDEF_ #ifdef _WS2IPDEF_
// //
// The following definitions require Winsock2. // The following definitions require Winsock2.
// //
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
ULONG ULONG
WINAPI WINAPI
GetTcp6Table( GetTcp6Table(
_Out_writes_bytes_(*SizePointer) PMIB_TCP6TABLE TcpTable, _Out_writes_bytes_(*SizePointer) PMIB_TCP6TABLE TcpTable,
skipping to change at line 716 skipping to change at line 734
_Out_writes_bytes_opt_(*SizePointer) PIP_ADAPTER_INFO AdapterInfo, _Out_writes_bytes_opt_(*SizePointer) PIP_ADAPTER_INFO AdapterInfo,
_Inout_ PULONG SizePointer _Inout_ PULONG SizePointer
); );
PIP_ADAPTER_ORDER_MAP PIP_ADAPTER_ORDER_MAP
WINAPI WINAPI
GetAdapterOrderMap( GetAdapterOrderMap(
VOID VOID
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifdef _WINSOCK2API_ #ifdef _WINSOCK2API_
// //
// The following functions require Winsock2. // The following functions require Winsock2.
// //
ULONG ULONG
WINAPI WINAPI
GetAdaptersAddresses( GetAdaptersAddresses(
_In_ ULONG Family, _In_ ULONG Family,
_In_ ULONG Flags, _In_ ULONG Flags,
_Reserved_ PVOID Reserved, _Reserved_ PVOID Reserved,
_Out_writes_bytes_opt_(*SizePointer) PIP_ADAPTER_ADDRESSES AdapterAddresses, _Out_writes_bytes_opt_(*SizePointer) PIP_ADAPTER_ADDRESSES AdapterAddresses,
_Inout_ PULONG SizePointer _Inout_ PULONG SizePointer
); );
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (NTDDI_VERSION >= NTDDI_WIN2KSP1) #if (NTDDI_VERSION >= NTDDI_WIN2KSP1)
DWORD DWORD
WINAPI WINAPI
GetPerAdapterInfo( GetPerAdapterInfo(
_In_ ULONG IfIndex, _In_ ULONG IfIndex,
_Out_writes_bytes_opt_(*pOutBufLen) PIP_PER_ADAPTER_INFO pPerAdapterInfo, _Out_writes_bytes_opt_(*pOutBufLen) PIP_PER_ADAPTER_INFO pPerAdapterInfo,
_Inout_ PULONG pOutBufLen _Inout_ PULONG pOutBufLen
); );
#endif #endif
skipping to change at line 993 skipping to change at line 1023
#endif #endif
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#if (NTDDI_VERSION >= NTDDI_VISTA) #if (NTDDI_VERSION >= NTDDI_VISTA)
#include <netioapi.h> #include <netioapi.h>
#endif // (NTDDI_VERSION >= NTDDI_VISTA) #endif // (NTDDI_VERSION >= NTDDI_VISTA)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ ) */
#pragma endregion #pragma endregion
#endif //__IPHLPAPI_H__ #endif //__IPHLPAPI_H__
 End of changes. 8 change blocks. 
4 lines changed or deleted 44 lines changed or added


 netioapi.h (6.3.9600.17415-Windows 8.1)   netioapi.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 58 skipping to change at line 58
4. The functions in this file are grouped by the object they operate upon. 4. The functions in this file are grouped by the object they operate upon.
Within the group, they are sorted alphabetically. Within the group, they are sorted alphabetically.
--*/ --*/
#ifndef _NETIOAPI_H_ #ifndef _NETIOAPI_H_
#define _NETIOAPI_H_ #define _NETIOAPI_H_
#pragma once #pragma once
#include <winapifamily.h> #include <winapifamily.h>
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
// //
// General types. // General types.
// //
// //
skipping to change at line 106 skipping to change at line 106
#include <ws2def.h> #include <ws2def.h>
#include <ws2ipdef.h> #include <ws2ipdef.h>
#include <ifdef.h> #include <ifdef.h>
#include <nldef.h> #include <nldef.h>
#define NETIO_STATUS NTSTATUS #define NETIO_STATUS NTSTATUS
#define NETIO_SUCCESS(x) NT_SUCCESS(x) #define NETIO_SUCCESS(x) NT_SUCCESS(x)
#define NETIOAPI_API_ NTAPI #define NETIOAPI_API_ NTAPI
#define _NETIOAPI_SUCCESS_ #define _NETIOAPI_SUCCESS_
#endif #endif /* __IPHLPAPI_H__ */
#define NETIOAPI_API NETIO_STATUS NETIOAPI_API_ #define NETIOAPI_API NETIO_STATUS NETIOAPI_API_
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef enum _MIB_NOTIFICATION_TYPE { typedef enum _MIB_NOTIFICATION_TYPE {
// //
// ParameterChange. // ParameterChange.
// //
MibParameterNotification, MibParameterNotification,
// //
// Addition. // Addition.
// //
MibAddInstance, MibAddInstance,
// //
// Deletion. // Deletion.
// //
MibDeleteInstance, MibDeleteInstance,
// //
// Initial notification. // Initial notification.
// //
MibInitialNotification, MibInitialNotification,
} MIB_NOTIFICATION_TYPE, *PMIB_NOTIFICATION_TYPE; } MIB_NOTIFICATION_TYPE, *PMIB_NOTIFICATION_TYPE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
// //
// Interface management routines. // Interface management routines.
// //
// //
// The MIB structure for Interface management routines. // The MIB structure for Interface management routines.
// //
#ifdef _WS2IPDEF_ #ifdef _WS2IPDEF_
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#include <ntddndis.h> #include <ntddndis.h>
typedef struct _MIB_IF_ROW2 { typedef struct _MIB_IF_ROW2 {
// //
// Key structure. Sorted by preference. // Key structure. Sorted by preference.
// //
NET_LUID InterfaceLuid; NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex; NET_IFINDEX InterfaceIndex;
// //
skipping to change at line 656 skipping to change at line 669
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
// //
// Unicast address management routines. // Unicast address management routines.
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// //
// The structure for unicast IP Address management. // The structure for unicast IP Address management.
// //
typedef struct _MIB_UNICASTIPADDRESS_ROW { typedef struct _MIB_UNICASTIPADDRESS_ROW {
// //
// Key Structure. // Key Structure.
// //
SOCKADDR_INET Address; SOCKADDR_INET Address;
NET_LUID InterfaceLuid; NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex; NET_IFINDEX InterfaceIndex;
skipping to change at line 690 skipping to change at line 709
NL_DAD_STATE DadState; NL_DAD_STATE DadState;
SCOPE_ID ScopeId; SCOPE_ID ScopeId;
LARGE_INTEGER CreationTimeStamp; LARGE_INTEGER CreationTimeStamp;
} MIB_UNICASTIPADDRESS_ROW, *PMIB_UNICASTIPADDRESS_ROW; } MIB_UNICASTIPADDRESS_ROW, *PMIB_UNICASTIPADDRESS_ROW;
typedef struct _MIB_UNICASTIPADDRESS_TABLE { typedef struct _MIB_UNICASTIPADDRESS_TABLE {
ULONG NumEntries; ULONG NumEntries;
MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE]; MIB_UNICASTIPADDRESS_ROW Table[ANY_SIZE];
} MIB_UNICASTIPADDRESS_TABLE, *PMIB_UNICASTIPADDRESS_TABLE; } MIB_UNICASTIPADDRESS_TABLE, *PMIB_UNICASTIPADDRESS_TABLE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef typedef
VOID VOID
(NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) ( (NETIOAPI_API_ *PUNICAST_IPADDRESS_CHANGE_CALLBACK) (
_In_ PVOID CallerContext, _In_ PVOID CallerContext,
_In_opt_ PMIB_UNICASTIPADDRESS_ROW Row, _In_opt_ PMIB_UNICASTIPADDRESS_ROW Row,
_In_ MIB_NOTIFICATION_TYPE NotificationType _In_ MIB_NOTIFICATION_TYPE NotificationType
); );
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
skipping to change at line 796 skipping to change at line 821
Notes: Notes:
On input, the following key fields of Row must be initialized: On input, the following key fields of Row must be initialized:
1. Address to a valid IPv4 or IPv6 unicast address. 1. Address to a valid IPv4 or IPv6 unicast address.
2. At least one of InterfaceLuid or InterfaceIndex must be specified. 2. At least one of InterfaceLuid or InterfaceIndex must be specified.
On output, the remaining fields of Row are filled in. On output, the remaining fields of Row are filled in.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
GetUnicastIpAddressTable( GetUnicastIpAddressTable(
_In_ ADDRESS_FAMILY Family, _In_ ADDRESS_FAMILY Family,
_Outptr_ PMIB_UNICASTIPADDRESS_TABLE *Table _Outptr_ PMIB_UNICASTIPADDRESS_TABLE *Table
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 835 skipping to change at line 866
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
Notes: Notes:
The API allocates the buffer for Table. Use FreeMibTable to free it. The API allocates the buffer for Table. Use FreeMibTable to free it.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
VOID VOID
NETIOAPI_API_ NETIOAPI_API_
InitializeUnicastIpAddressEntry( InitializeUnicastIpAddressEntry(
_Out_ PMIB_UNICASTIPADDRESS_ROW Row _Out_ PMIB_UNICASTIPADDRESS_ROW Row
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 1222 skipping to change at line 1259
Notes: Notes:
The API allocates the buffer for Table. Use FreeMibTable to free it. The API allocates the buffer for Table. Use FreeMibTable to free it.
--*/ --*/
// //
// Route management routines. // Route management routines.
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _IP_ADDRESS_PREFIX { typedef struct _IP_ADDRESS_PREFIX {
SOCKADDR_INET Prefix; SOCKADDR_INET Prefix;
UINT8 PrefixLength; UINT8 PrefixLength;
} IP_ADDRESS_PREFIX, *PIP_ADDRESS_PREFIX; } IP_ADDRESS_PREFIX, *PIP_ADDRESS_PREFIX;
typedef struct _MIB_IPFORWARD_ROW2 { typedef struct _MIB_IPFORWARD_ROW2 {
// //
// Key Structure. // Key Structure.
// //
NET_LUID InterfaceLuid; NET_LUID InterfaceLuid;
skipping to change at line 1262 skipping to change at line 1305
// //
ULONG Age; ULONG Age;
NL_ROUTE_ORIGIN Origin; NL_ROUTE_ORIGIN Origin;
} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2; } MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;
typedef struct _MIB_IPFORWARD_TABLE2 { typedef struct _MIB_IPFORWARD_TABLE2 {
ULONG NumEntries; ULONG NumEntries;
MIB_IPFORWARD_ROW2 Table[ANY_SIZE]; MIB_IPFORWARD_ROW2 Table[ANY_SIZE];
} MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_TABLE2; } MIB_IPFORWARD_TABLE2, *PMIB_IPFORWARD_TABLE2;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef typedef
VOID VOID
(NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) ( (NETIOAPI_API_ *PIPFORWARD_CHANGE_CALLBACK) (
_In_ PVOID CallerContext, _In_ PVOID CallerContext,
_In_opt_ PMIB_IPFORWARD_ROW2 Row, _In_opt_ PMIB_IPFORWARD_ROW2 Row,
_In_ MIB_NOTIFICATION_TYPE NotificationType _In_ MIB_NOTIFICATION_TYPE NotificationType
); );
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
skipping to change at line 1337 skipping to change at line 1386
Notes: Notes:
On input, the following key fields of Row must be initialized: On input, the following key fields of Row must be initialized:
1. At least one of InterfaceLuid or InterfaceIndex must be specified. 1. At least one of InterfaceLuid or InterfaceIndex must be specified.
2. DestinationPrefix. 2. DestinationPrefix.
3. NextHop. 3. NextHop.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
GetBestRoute2( GetBestRoute2(
_In_opt_ NET_LUID *InterfaceLuid, _In_opt_ NET_LUID *InterfaceLuid,
_In_ NET_IFINDEX InterfaceIndex, _In_ NET_IFINDEX InterfaceIndex,
_In_opt_ CONST SOCKADDR_INET *SourceAddress, _In_opt_ CONST SOCKADDR_INET *SourceAddress,
_In_ CONST SOCKADDR_INET *DestinationAddress, _In_ CONST SOCKADDR_INET *DestinationAddress,
_In_ ULONG AddressSortOptions, _In_ ULONG AddressSortOptions,
_Out_ PMIB_IPFORWARD_ROW2 BestRoute, _Out_ PMIB_IPFORWARD_ROW2 BestRoute,
skipping to change at line 1387 skipping to change at line 1442
Notes: Notes:
On input, the following parameters must be supplied: On input, the following parameters must be supplied:
1. At least one of InterfaceLuid or InterfaceIndex must be specified. 1. At least one of InterfaceLuid or InterfaceIndex must be specified.
2. SourceAddress. 2. SourceAddress.
3. DestinationAddress. 3. DestinationAddress.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
GetIpForwardEntry2( GetIpForwardEntry2(
_Inout_ PMIB_IPFORWARD_ROW2 Row _Inout_ PMIB_IPFORWARD_ROW2 Row
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 2102 skipping to change at line 2163
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
Notes: Notes:
Blocks until all callback have returned. Blocks until all callback have returned.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
VOID VOID
NETIOAPI_API_ NETIOAPI_API_
FreeMibTable( FreeMibTable(
_In_ PVOID Memory _In_ PVOID Memory
); );
/*++ /*++
Routine Description: Routine Description:
Free the buffer allocated by Get*Table APIs. Free the buffer allocated by Get*Table APIs.
skipping to change at line 2123 skipping to change at line 2190
Arguments: Arguments:
Memory - Supplies the buffer to free. Memory - Supplies the buffer to free.
Return Value: Return Value:
None. None.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
CreateSortedAddressPairs( CreateSortedAddressPairs(
_In_opt_ const PSOCKADDR_IN6 SourceAddressList, _In_opt_ const PSOCKADDR_IN6 SourceAddressList,
_In_ ULONG SourceAddressCount, _In_ ULONG SourceAddressCount,
_In_ const PSOCKADDR_IN6 DestinationAddressList, _In_ const PSOCKADDR_IN6 DestinationAddressList,
_In_ ULONG DestinationAddressCount, _In_ ULONG DestinationAddressCount,
_In_ ULONG AddressSortOptions, _In_ ULONG AddressSortOptions,
_Outptr_result_buffer_(*SortedAddressPairCount) _Outptr_result_buffer_(*SortedAddressPairCount)
skipping to change at line 2179 skipping to change at line 2252
SortedAddressPairCount - Returns the number of address pairs in SortedAddressPairCount - Returns the number of address pairs in
SortedAddressPairList. SortedAddressPairList.
Return Value: Return Value:
ERROR_SUCCESS on success. WIN32 error code on error. ERROR_SUCCESS on success. WIN32 error code on error.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#endif //_WS2IPDEF_ #endif //_WS2IPDEF_
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_ _NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
ConvertCompartmentGuidToId( ConvertCompartmentGuidToId(
_In_ CONST GUID *CompartmentGuid, _In_ CONST GUID *CompartmentGuid,
_Out_ PNET_IF_COMPARTMENT_ID CompartmentId _Out_ PNET_IF_COMPARTMENT_ID CompartmentId
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 2568 skipping to change at line 2647
Interface name on success, NULL otherwise. Interface name on success, NULL otherwise.
Notes: Notes:
The length of InterfaceName buffer must be equal to or greater than The length of InterfaceName buffer must be equal to or greater than
IF_NAMESIZE. IF_NAMESIZE.
--*/ --*/
NET_IF_COMPARTMENT_ID
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
NET_IF_COMPARTMENT_ID
NETIOAPI_API_ NETIOAPI_API_
GetCurrentThreadCompartmentId( GetCurrentThreadCompartmentId(
VOID VOID
); );
/*++ /*++
Routine Description: Routine Description:
Get the compartment ID of current thread. Get the compartment ID of current thread.
skipping to change at line 2591 skipping to change at line 2670
None. None.
Return Value: Return Value:
The compartment ID of current thread. The compartment ID of current thread.
--*/ --*/
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
SetCurrentThreadCompartmentId( SetCurrentThreadCompartmentId(
_In_ NET_IF_COMPARTMENT_ID CompartmentId _In_ NET_IF_COMPARTMENT_ID CompartmentId
); );
/*++ /*++
Routine Description: Routine Description:
Set the compartment ID of current thread. Set the compartment ID of current thread.
skipping to change at line 2613 skipping to change at line 2693
CompartmentId - Supplies the compartment ID to be set. CompartmentId - Supplies the compartment ID to be set.
Return Value: Return Value:
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
_IRQL_requires_max_(PASSIVE_LEVEL)
VOID
NETIOAPI_API_
GetCurrentThreadCompartmentScope(
_Out_ PNET_IF_COMPARTMENT_SCOPE CompartmentScope,
_Out_ PNET_IF_COMPARTMENT_ID CompartmentId
);
/*++
Routine Description:
Returns the compartment scope and ID for the current thread.
Arguments:
CompartmentScope - Receives the compartment scope.
CompartmentId - Optionally receives the compartment ID.
Return Value:
None.
Permissions:
This is open to all callers.
--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API
SetCurrentThreadCompartmentScope(
_In_ NET_IF_COMPARTMENT_SCOPE CompartmentScope
);
/*++
Routine Description:
Sets the compartment scope for the current thread.
Arguments:
CompartmentScope - Supplies the compartment scope.
Return Value:
User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
Permissions:
This is a privileged operation available only to admin-like accounts
used by services (LocalSystem, NetworkService, LocalService).
--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
NET_IF_COMPARTMENT_ID
NETIOAPI_API_
GetJobCompartmentId(
_In_ HANDLE JobHandle
);
/*++
Routine Description:
Gets the compartment ID of a given job object.
Arguments:
JobHandle - Supplies the job handle.
Return Value:
Returns the compartment ID associated with the job.
Permissions:
This is open to all callers.
--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API
SetJobCompartmentId(
_In_ HANDLE JobHandle,
_In_ NET_IF_COMPARTMENT_ID CompartmentId
);
/*++
Routine Description:
Sets the compartment ID of the given job object.
Arguments:
JobHandle - Supplies the job handle.
CompartmentId - Supplies the new compartment ID.
Return Value:
If the function succeeds, the return value is NO_ERROR.
If the function fails, use FormatMessage to obtain the message string for
the returned error.
Permissions:
This is a privileged operation available only to network-admin-like
accounts (LocalSystem, NetworkService, LocalService).
--*/
NET_IF_COMPARTMENT_ID NET_IF_COMPARTMENT_ID
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
NETIOAPI_API_ NETIOAPI_API_
GetSessionCompartmentId( GetSessionCompartmentId(
_In_ ULONG SessionId _In_ ULONG SessionId
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 2636 skipping to change at line 2832
SessionId - Supplies the session ID. SessionId - Supplies the session ID.
Return Value: Return Value:
The compartment ID of the session. The compartment ID of the session.
--*/ --*/
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
SetSessionCompartmentId( SetSessionCompartmentId(
_In_ ULONG SessionId, _In_ ULONG SessionId,
_In_ NET_IF_COMPARTMENT_ID CompartmentId _In_ NET_IF_COMPARTMENT_ID CompartmentId
); );
/*++ /*++
Routine Description: Routine Description:
Set the compartment ID of the session. Set the compartment ID of the session.
skipping to change at line 2662 skipping to change at line 2859
Return Value: Return Value:
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
GetNetworkInformation( GetNetworkInformation(
_In_ CONST NET_IF_NETWORK_GUID *NetworkGuid, _In_ CONST NET_IF_NETWORK_GUID *NetworkGuid,
_Out_ PNET_IF_COMPARTMENT_ID CompartmentId, _Out_ PNET_IF_COMPARTMENT_ID CompartmentId,
_Out_ PULONG SiteId, _Out_ PULONG SiteId,
_Out_writes_(Length) PWCHAR NetworkName, _Out_writes_(Length) PWCHAR NetworkName,
_In_ ULONG Length _In_ ULONG Length
); );
/*++ /*++
skipping to change at line 2697 skipping to change at line 2895
Return Value: Return Value:
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
_IRQL_requires_max_(PASSIVE_LEVEL) _IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API NETIOAPI_API
SetNetworkInformation( SetNetworkInformation(
_In_ CONST NET_IF_NETWORK_GUID *NetworkGuid, _In_ CONST NET_IF_NETWORK_GUID *NetworkGuid,
_In_ NET_IF_COMPARTMENT_ID CompartmentId, _In_ NET_IF_COMPARTMENT_ID CompartmentId,
_In_z_ CONST WCHAR *NetworkName _In_z_ CONST WCHAR *NetworkName
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 2725 skipping to change at line 2924
NetworkName - Supplies the Network name to be set. NetworkName - Supplies the Network name to be set.
Return Value: Return Value:
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
//
// Compartment management routines.
//
typedef struct _MIB_COMPARTMENT_ROW {
//
// Key structure.
//
GUID CompartmentGuid;
NET_IF_COMPARTMENT_ID CompartmentId;
//
// Read-write fields.
//
WCHAR Description[IF_MAX_STRING_SIZE + 1];
} MIB_COMPARTMENT_ROW, *PMIB_COMPARTMENT_ROW;
_IRQL_requires_max_(PASSIVE_LEVEL)
VOID
NETIOAPI_API_
InitializeCompartmentEntry(
_Out_ PMIB_COMPARTMENT_ROW CompartmentRow
);
/*++
Routine Description:
Initialize the MIB_COMPARTMENT_ROW entry for use in CreateCompartment.
Arguments:
CompartmentRow - Returns an initialized MIB_COMPARTMENT_ROW structure.
Return Value:
None.
--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API
CreateCompartment(
_Inout_ CONST PMIB_COMPARTMENT_ROW CompartmentRow
);
/*++
Routine Description:
Creates a new compartment.
Arguments:
CompartmentRow - Supplies properties for the compartment to be created.
Must be previously initialized by calling InitializeCompartmentEntry.
At a minimum, the CompartmentGuid field must be set by caller.
Returns the ID of the new compartment if successful.
Return Value:
NETIO_ERROR_SUCCESS on success, error code on failure.
Permissions:
This is a privileged operation available only to admin-like accounts
used by services (LocalSystem, NetworkService, LocalService).
--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
_NETIOAPI_SUCCESS_
NETIOAPI_API
DeleteCompartment(
_In_ NET_IF_COMPARTMENT_ID CompartmentId
);
/*++
Routine Description:
Deletes a compartment.
Arguments:
CompartmentId - Supplies the ID of the compartment to be deleted.
Return Value:
NETIO_ERROR_SUCCESS on success, error code on failure.
Permissions:
This is a privileged operation available only to admin-like accounts
used by services (LocalSystem, NetworkService, LocalService).
--*/
#pragma warning(pop) #pragma warning(pop)
NETIOAPI_API NETIOAPI_API
ConvertLengthToIpv4Mask( ConvertLengthToIpv4Mask(
_In_ ULONG MaskLength, _In_ ULONG MaskLength,
_Out_ PULONG Mask _Out_ PULONG Mask
); );
/*++ /*++
Routine Description: Routine Description:
skipping to change at line 2777 skipping to change at line 3073
MaskLength - Prefix length computed. MaskLength - Prefix length computed.
Return Value: Return Value:
User-Mode: NO_ERROR on success, error code on failure. User-Mode: NO_ERROR on success, error code on failure.
Kernel-Mode: STATUS_SUCCESS on success, error code on failure. Kernel-Mode: STATUS_SUCCESS on success, error code on failure.
--*/ --*/
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// //
//4201. //4201.
// //
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif // _NETIOAPI_H_. #endif // _NETIOAPI_H_.
 End of changes. 27 change blocks. 
5 lines changed or deleted 321 lines changed or added

This html diff was produced by rfcdiff 1.41.