GetPerAdapterInfo function (iphlpapi.h)

The GetPerAdapterInfo function retrieves information about the adapter corresponding to the specified interface.


  [in]  ULONG                IfIndex,
  [out] PIP_PER_ADAPTER_INFO pPerAdapterInfo,
  [in]  PULONG               pOutBufLen


[in] IfIndex

Index of an interface. The GetPerAdapterInfo function retrieves information for the adapter corresponding to this interface.

[out] pPerAdapterInfo

Pointer to an IP_PER_ADAPTER_INFO structure that receives information about the adapter.

[in] pOutBufLen

Pointer to a ULONG variable that specifies the size of the IP_PER_ADAPTER_INFO structure. If this size is insufficient to hold the information, GetPerAdapterInfo fills in this variable with the required size, and returns an error code of ERROR_BUFFER_OVERFLOW.

Return value

If the function succeeds, the return value is ERROR_SUCCESS.

If the function fails, the return value is one of the following error codes.

Return code Description
The buffer size indicated by the pOutBufLen parameter is too small to hold the adapter information. The pOutBufLen parameter points to the required size.
The pOutBufLen parameter is NULL, or the calling process does not have read/write access to the memory pointed to by pOutBufLen, or the calling process does not have write access to the memory pointed to by the pAdapterInfo parameter.

GetPerAdapterInfo is not supported by the operating system running on the local computer.

If the function fails, use FormatMessage to obtain the message string for the returned error.


An adapter index may change when the adapter is disabled and then enabled, or under other circumstances, and should not be considered persistent.


Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

See also

IP Helper Function Reference

IP Helper Start Page