GetIfStackTable 함수
GetIfStackTable 함수는 인터페이스 스택에서 네트워크 인터페이스의 관계를 지정하는 네트워크 인터페이스 스택 행 항목 테이블을 검색합니다.
구문
NETIOAPI_API GetIfStackTable(
_Out_ PMIB_IFSTACK_TABLE *Table
);
매개 변수
- 표 [out]
MIB_IFSTACK_TABLE 구조에서 인터페이스 스택 행 항목의 테이블을 수신하는 버퍼에 대한 포인터입니다.
반환 값
GetIfStackTable 은 함수가 성공하면 STATUS_SUCCESS 반환합니다.
함수가 실패하면 GetIfStackTable 은 다음 오류 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER | 잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Table 매개 변수에 NULL 포인터가 전달되면 반환됩니다. |
STATUS_NOT_ENOUGH_MEMORY | 메모리 리소스가 부족하여 작업을 완료할 수 있습니다. |
STATUS_NOT_FOUND | 인터페이스 스택 항목을 찾을 수 없습니다. |
기타 | FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다. |
설명
GetIfStackTable 함수는 로컬 컴퓨터의 인터페이스 스택에 있는 물리적 및 논리적 네트워크 인터페이스를 열거하고 이 정보를 MIB_IFSTACK_TABLE 구조로 반환합니다.
인터페이스 스택 항목은 Table 매개 변수가 가리키는 버퍼의 MIB_IFSTACK_TABLE 구조로 반환됩니다. MIB_IFSTACK_TABLE 구조에는 인터페이스 스택 항목 수와 각 인터페이스 스택 항목에 대한 MIB_IFSTACK_ROW 구조의 배열이 포함됩니다.
인터페이스 스택의 인터페이스 간의 관계는 MIB_IFSTACK_ROW 구조체의 HigherLayerInterfaceIndex 멤버에 인덱스가 있는 인터페이스가 MIB_IFSTACK_ROW 구조체의 LowerLayerInterfaceIndex 멤버에 인덱스가 있는 인터페이스 바로 위에 있다는 것입니다.
메모리는 이 구조체의 MIB_IFSTACK_TABLE 구조체 및 MIB_IFSTACK_ROW 항목에 대해 GetIfStackTable 함수에 의해 할당됩니다. 이러한 반환된 구조체가 더 이상 필요하지 않은 경우 드라이버는 FreeMibTable을 호출하여 메모리를 해제해야 합니다.
Table 매개 변수가 가리키는 반환된 MIB_IFSTACK_TABLE 구조체에는 NumEntries 멤버와 MIB_IFSTACK_TABLE 구조체의 Table 멤버에 있는 첫 번째 MIB_IFSTACK_ROW 배열 항목 간의 맞춤을 위한 안쪽 여백이 포함될 수 있습니다. 정렬을 위한 안쪽 여백은 MIB_IFSTACK_ROW 배열 항목 사이에도 있을 수 있습니다. MIB_IFSTACK_ROW 배열 항목에 대한 액세스는 패딩이 있을 수 있다고 가정해야 합니다.
요구 사항
대상 플랫폼 |
유니버설 |
버전 |
Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 |
Netioapi.h(Netioapi.h 포함) |
라이브러리 |
Netio.lib |
Irql |
< DISPATCH_LEVEL |