-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmy_iphlpapi.pas
69 lines (61 loc) · 2.13 KB
/
my_iphlpapi.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
unit my_iphlpapi;
interface
uses
Windows, IdWinsock2, my_ifdef, my_nldef, Winapi.IpTypes;
type
MIB_NOTIFICATION_TYPE = (
MibParameterNotification,
MibAddInstance,
MibDeleteInstance,
MibInitialNotification
);
MIB_IPINTERFACE_ROW = record
Family:ADDRESS_FAMILY;
InterfaceLuid:NET_LUID;
InterfaceIndex:NET_IFINDEX;
MaxReassemblySize:ULONG;
InterfaceIdentifier:ULONG64;
MinRouterAdvertisementInterval:ULONG;
MaxRouterAdvertisementInterval:ULONG;
AdvertisingEnabled:BOOLEAN;
ForwardingEnabled:BOOLEAN;
WeakHostSend:BOOLEAN;
WeakHostReceive:BOOLEAN;
UseAutomaticMetric:BOOLEAN;
UseNeighborUnreachabilityDetection:BOOLEAN;
ManagedAddressConfigurationSupported:BOOLEAN;
OtherStatefulConfigurationSupported:BOOLEAN;
AdvertiseDefaultRoute:BOOLEAN;
RouterDiscoveryBehavior:NL_ROUTER_DISCOVERY_BEHAVIOR;
DadTransmits:ULONG;
BaseReachableTime:ULONG;
RetransmitTime:ULONG;
PathMtuDiscoveryTimeout:ULONG;
LinkLocalAddressBehavior:NL_LINK_LOCAL_ADDRESS_BEHAVIOR;
LinkLocalAddressTimeout:ULONG;
ZoneIndices:Array[0..15] Of ULONG;
SitePrefixLength:ULONG;
Metric:ULONG;
NlMtu:ULONG;
Connected:BOOLEAN;
SupportsWakeUpPatterns:BOOLEAN;
SupportsNeighborDiscovery:BOOLEAN;
SupportsRouterDiscovery:BOOLEAN;
ReachableTime:ULONG;
TransmitOffload:Byte; //TransmitOffload:NL_INTERFACE_OFFLOAD_ROD;
ReceiveOffload:Byte; //ReceiveOffload:NL_INTERFACE_OFFLOAD_ROD;
DisableDefaultRoutes:BOOLEAN;
end;
PMIB_IPINTERFACE_ROW = ^MIB_IPINTERFACE_ROW;
PIPINTERFACE_CHANGE_CALLBACK = Pointer;
function ConvertIpv4MaskToLength(Mask:ULONG; var MaskLength:UINT8):Integer; stdcall; external 'Iphlpapi.dll';
function GetIpInterfaceEntry(var Row:MIB_IPINTERFACE_ROW):Integer; stdcall; external 'Iphlpapi.dll';
function NotifyIpInterfaceChange(
Family:ADDRESS_FAMILY;
Callback:PIPINTERFACE_CHANGE_CALLBACK;
CallerContext:PVOID;
InitialNotification:Boolean;
var NotificationHandle:THandle
):Integer; stdcall; external 'Iphlpapi.dll';
implementation
end.