다음을 통해 공유


GetIpInterfaceTable 함수

GetIpInterfaceTable 함수는 로컬 컴퓨터에서 IP 인터페이스 항목을 검색합니다.

통사론

NETIOAPI_API GetIpInterfaceTable(
  _In_  ADDRESS_FAMILY         Family,
  _Out_ PMIB_IPINTERFACE_TABLE *Table
);

매개 변수

  • 가족 [in]
    검색할 IP 인터페이스의 주소 패밀리입니다.

    주소 패밀리에 대한 가능한 값은 Winsock2.h 헤더 파일에 나열됩니다. AF_ 주소 패밀리 및 PF_ 프로토콜 패밀리 상수의 값은 동일하므로(예: AF_INET 및 PF_INET) 상수 중 하나를 사용할 수 있습니다.

    Windows Vista 이상 버전의 Windows 운영 체제에서는 Family 매개 변수에 대한 가능한 값이 Ws2def.h 헤더 파일에 정의되어 있습니다. Ws2def.h 헤더 파일은 Netioapi.h에 자동으로 포함되며 Ws2def.h를 직접 사용하면 안 됩니다.

    현재 주소 패밀리에 대해 지원되는 값은 다음과 같습니다.

    • AF_INET
      IPv4 주소 패밀리입니다.

    • AF_INET6
      IPv6 주소 패밀리입니다.

    • AF_UNSPEC
      주소 패밀리가 지정되지 않았습니다. 이 값을 지정하면 GetIpInterfaceTable 함수는 IPv4 및 IPv6 항목을 모두 포함하는 IP 인터페이스 테이블을 반환합니다.

  • 테이블 [out]
    MIB_IPINTERFACE_TABLE 구조에서 IP 인터페이스 항목의 테이블을 수신하는 버퍼에 대한 포인터입니다.

반환 값

GetIpInterfaceTable 함수가 성공하면 STATUS_SUCCESS 반환합니다.

함수가 실패하면 GetIpInterfaceTable 다음 오류 코드 중 하나를 반환합니다.

반환 코드 묘사
STATUS_INVALID_PARAMETER

잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 NULL 포인터가 Table 매개 변수에 전달되거나 Family 매개 변수가 AF_INET, AF_INET6 또는 AF_UNSPEC 지정되지 않은 경우 반환됩니다.

STATUS_NOT_ENOUGH_MEMORY

메모리 리소스가 부족하여 작업을 완료할 수 있습니다.

STATUS_NOT_FOUND

Family 매개 변수에 지정된 IP 인터페이스 항목을 찾을 수 없습니다.

STATUS_NOT_SUPPORTED

함수는 지원되지 않습니다. 이 오류는 Address 매개 변수에 지정된 IP 전송이 로컬 컴퓨터에 구성되지 않은 경우 반환됩니다. 이 오류는 이 함수가 지원되지 않는 Windows 버전에서도 반환됩니다.

기타

FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

발언

GetIpInterfaceTable 함수는 로컬 컴퓨터의 IP 인터페이스를 열거하고 이 정보를 MIB_IPINTERFACE_TABLE 구조로 반환합니다.

GetIpInterfaceTableTable 매개 변수가 가리키는 버퍼의 MIB_IPINTERFACE_TABLE 구조에서 IP 인터페이스 항목을 반환합니다. MIB_IPINTERFACE_TABLE 구조에는 IP 인터페이스 항목 수와 각 IP 인터페이스 항목에 대한 MIB_IPINTERFACE_ROW 구조의 배열이 포함됩니다. 반환된 구조체가 더 이상 필요하지 않은 경우 드라이버는 FreeMibTable 함수를 호출하여 메모리를 해제해야 합니다.

드라이버는 Family 매개 변수를 AF_INET 또는 AF_INET6 초기화해야 합니다.

Table 매개 변수가 가리키는 반환된 MIB_IPINTERFACE_TABLE 구조체에는 NumEntries 멤버와 MIB_IPINTERFACE_TABLE 구조체의 Table 멤버에 있는 첫 번째 MIB_IPINTERFACE_ROW 배열 항목 간의 맞춤에 대한 안쪽 여백이 포함될 수 있습니다. 정렬에 대한 안쪽 여백은 MIB_IPINTERFACE_ROW 배열 항목 사이에도 있을 수 있습니다. MIB_IPINTERFACE_ROW 배열 항목에 대한 액세스는 패딩이 있을 수 있다고 가정해야 합니다.

요구 사항

대상 플랫폼

유니버설

버전

Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.

머리글

Netioapi.h(Netioapi.h 포함)

도서관

Netio.lib

IRQL

< DISPATCH_LEVEL

참고 항목

freeMibTable

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

MIB_IPNET_ROW2

MIB_IPNET_TABLE2