다음을 통해 공유


GetIfTable2Ex 함수(netioapi.h)

GetIfTable2Ex 함수는 MIB-II 인터페이스 테이블을 검색합니다.

구문

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

매개 변수

[in] Level

검색할 인터페이스 정보의 수준입니다. 이 매개 변수는 Netioapi.h 헤더 파일에 정의된 MIB_IF_TABLE_LEVEL 열거형 형식의 값 중 하나일 수 있습니다.

의미
MibIfTableNormal
Table 매개 변수가 가리키는 MIB_IF_TABLE2 구조체의 MIB_IF_ROW2 구조체 멤버에 반환된 통계 및 상태 값은 이 매개 변수를 지정할 때 필터 스택의 맨 위에서 반환됩니다.
MibIfTableRaw
Table 매개 변수가 가리키는 MIB_IF_TABLE2 구조체의 MIB_IF_ROW2 구조체 멤버에서 반환된 통계 및 상태 값은 쿼리되는 인터페이스에 대해 직접 반환됩니다.

[out] Table

MIB_IF_TABLE2 구조체의 인터페이스 테이블을 수신하는 버퍼에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 NO_ERROR.

함수가 실패하면 반환 값은 다음 오류 코드 중 하나입니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Level 매개 변수에 잘못된 값이 전달된 경우 반환됩니다.
ERROR_NOT_ENOUGH_MEMORY
메모리 리소스가 부족하여 작업을 완료할 수 있습니다.
기타
FormatMessage를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다.

설명

The
GetIfTable2Ex 함수는 로컬 시스템의 논리 및 물리적 인터페이스를 열거하고 이 정보를 MIB_IF_TABLE2 구조로 반환합니다. GetIfTable2Ex 는 검색할 인터페이스 정보의 수준을 선택할 수 있는 GetIfTable 함수의 향상된 버전입니다.

유사한 GetIfTable2 함수를 사용하여 인터페이스를 검색할 수도 있습니다. 반환할 인터페이스 수준을 지정할 수는 없습니다. Level 매개 변수가 MibIfTableNormal로 설정된 GetIfTable2Ex 함수를 호출하면 GetIfTable2 함수 호출과 동일한 결과가 검색됩니다.

인터페이스는 Table 매개 변수가 가리키는 버퍼의 MIB_IF_TABLE2 구조로 반환됩니다. MIB_IF_TABLE2 구조에는 인터페이스 수와 각 인터페이스에 대한 MIB_IF_ROW2 구조의 배열이 포함됩니다. 메모리는 이 구조체의 MIB_IF_TABLE2 구조체 및 MIB_IF_ROW2 항목에 대해 GetIfTable2 함수에 의해 할당됩니다. 이러한 반환된 구조체가 더 이상 필요하지 않으면 FreeMibTable을 호출하여 메모리를 해제합니다.

NDIS 중간 드라이버 인터페이스 및 NDIS 필터 드라이버 인터페이스를 포함한 모든 인터페이스는 Level 매개 변수에 대해 가능한 값 중 하나에 대해 반환됩니다. Level 매개 변수의 설정은 인터페이스에 대한 Table 매개 변수가 가리키는 MIB_IF_TABLE2 구조체의 MIB_IF_ROW2 구조체의 통계 및 상태 멤버가 반환되는 방식에 영향을 줍니다. 예를 들어 NIC(네트워크 인터페이스 카드)에는 NDIS 미니포트 드라이버가 있습니다. 상위 수준 프로토콜 드라이버와 NDIS 미니포트 드라이버 간의 인터페이스에 NDIS 중간 드라이버를 설치할 수 있습니다. LWF(NDIS 필터 드라이버)는 NDIS 중간 드라이버 위에 연결할 수 있습니다. NIC가 MIB_IF_ROW2 구조체의 MediaConnectState 멤버를 MediaConnectStateConnected 로 보고하지만 NDIS 필터 드라이버가 상태를 수정하고 상태를 MediaConnectStateDisconnected로 보고한다고 가정합니다. Level 매개 변수를 MibIfTableNormal로 설정하여 인터페이스 정보를 쿼리하면 필터 스택 맨 위에 있는 상태인 MediaConnectStateDisconnected가 보고됩니다. Level 매개 변수를 MibIfTableRaw로 설정하여 인터페이스를 쿼리하면 인터페이스 수준의 상태가 MediaConnectStateConnected로 직접 반환됩니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 netioapi.h(Iphlpapi.h 포함)
라이브러리 Iphlpapi.lib
DLL Iphlpapi.dll

추가 정보

FreeMibTable

GetIfTable

GetIfTable2

IP 도우미 함수 참조

MIB_IF_ROW2

MIB_IF_TABLE2