const
MAX_ADAPTER_NAME_LENGTH =
256
;
MAX_ADAPTER_DESCRIPTION_LENGTH =
128
;
MAX_ADAPTER_ADDRESS_LENGTH =
8
;
type
IP_ADDRESS_STRING =
array
[
0..16
-
1
]
of
Char
;
IP_MASK_STRING = IP_ADDRESS_STRING;
PIP_ADDR_STRING = ^IP_ADDR_STRING;
IP_ADDR_STRING =
record
Next: PIP_ADDR_STRING;
IpAddress: IP_ADDRESS_STRING;
IpMask: IP_MASK_STRING;
Context: DWORD;
end
;
PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO;
IP_ADAPTER_INFO =
record
Next: PIP_ADAPTER_INFO;
ComboIndex: DWORD;
AdapterName:
array
[
0..
MAX_ADAPTER_NAME_LENGTH+
4
-
1
]
of
Char
;
Description:
array
[
0..
MAX_ADAPTER_DESCRIPTION_LENGTH+
4
-
1
]
of
Char
;
AddressLength: UINT;
Address:
array
[
0..
MAX_ADAPTER_ADDRESS_LENGTH-
1
]
of
Byte
;
Index: DWORD;
Type_: UINT;
DhcpEnabled: UINT;
CurrentIpAddress: PIP_ADDR_STRING;
IpAddressList: IP_ADDR_STRING;
GatewayList: IP_ADDR_STRING;
DhcpServer: IP_ADDR_STRING;
HaveWins: BOOL;
PrimaryWinsServer: IP_ADDR_STRING;
SecondaryWinsServer: IP_ADDR_STRING;
LeaseObtained:
Longint
;
LeaseExpires:
Longint
;
end
;
function
GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; pOutBufLen: PULONG): DWORD; stdcall; external
'Iphlpapi.dll'
;