GetMulticastIpAddressTable 함수
GetMulticastIpAddressTable 함수는 로컬 컴퓨터에서 멀티캐스트 IP 주소 테이블을 검색합니다.
구문
NETIOAPI_API GetMulticastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_MULTICASTIPADDRESS_TABLE *Table
);
매개 변수
가족 [in]
검색할 주소 패밀리입니다.주소 패밀리에 사용할 수 있는 값은 Winsock2.h 헤더 파일에 나열됩니다. AF_ 주소 패밀리 및 PF_ 프로토콜 패밀리 상수의 값은 동일하므로(예: AF_INET 및 PF_INET) 두 상수 중 하나를 사용할 수 있습니다.
Windows Vista 이상 버전의 Windows 운영 체제에서 Family 매개 변수에 대한 가능한 값은 Ws2def.h 헤더 파일에 정의됩니다. Ws2def.h 헤더 파일은 Netioapi.h에 자동으로 포함되며 Ws2def.h를 직접 사용하면 안 됩니다.
현재 주소 패밀리에 대해 지원되는 값은 다음과 같습니다.
AF_INET
IPv4 주소 패밀리입니다. 이 값을 지정하면 이 함수는 IPv4 항목만 포함하는 멀티캐스트 IP 주소 테이블을 반환합니다.AF_INET6
IPv6 주소 패밀리입니다. 이 값을 지정하면 이 함수는 IPv6 항목만 포함하는 멀티캐스트 IP 주소 테이블을 반환합니다.AF_UNSPEC
주소 패밀리는 지정되지 않습니다. 이 값을 지정하면 이 함수는 IPv4 및 IPv6 항목이 모두 포함된 멀티캐스트 IP 주소 테이블을 반환합니다.
표 [out]
로컬 컴퓨터에 있는 anycast IP 주소 항목의 테이블을 포함하는 MIB_MULTICASTIPADDRESS_TABLE 구조체에 대한 포인터입니다.
반환 값
GetMulticastIpAddressTable 은 함수가 성공하면 STATUS_SUCCESS 반환합니다.
함수가 실패하면 GetMulticastIpAddressTable 은 다음 오류 코드 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
STATUS_INVALID_PARAMETER | 잘못된 매개 변수가 함수에 전달되었습니다. 이 오류는 Table 매개 변수에 NULL 포인터가 전달되거나 Family 매개 변수가 AF_INET, AF_INET6 또는 AF_UNSPEC 지정되지 않은 경우 반환됩니다. |
STATUS_NOT_ENOUGH_MEMORY | 메모리 리소스가 부족하여 작업을 완료할 수 있습니다. |
STATUS_NOT_FOUND | Family 매개 변수에 지정된 대로 애니캐스트 IP 주소 항목을 찾을 수 없습니다. |
STATUS_NOT_SUPPORTED | 요청이 지원되지 않습니다. 이 오류는 로컬 컴퓨터에 IPv4 스택이 없고 Family 매개 변수에 AF_INET 지정되었거나 로컬 컴퓨터에 IPv6 스택이 없고 Family 매개 변수에 AF_INET6 지정된 경우 반환됩니다. 이 오류는 이 함수가 지원되지 않는 Windows 버전에서도 반환됩니다. |
기타 | FormatMessage 함수를 사용하여 반환된 오류에 대한 메시지 문자열을 가져옵니다. |
설명
GetMulticastIpAddressTable 함수는 로컬 컴퓨터에서 멀티캐스트 IP 주소를 열거하고 이 정보를 MIB_MULTICASTIPADDRESS_TABLE 구조로 반환합니다.
GetMulticastIpAddressTable 은 Table 매개 변수가 가리키는 버퍼의 MIB_MULTICASTIPADDRESS_TABLE 구조에서 멀티캐스트 IP 주소 항목을 반환합니다. MIB_MULTICASTIPADDRESS_TABLE 구조에는 멀티캐스트 IP 주소 항목 수와 각 멀티캐스트 IP 주소 항목에 대한 MIB_MULTICASTIPADDRESS_ROW 구조의 배열이 포함됩니다. 이러한 반환된 구조체가 더 이상 필요하지 않은 경우 드라이버는 FreeMibTable을 호출하여 메모리를 해제해야 합니다.
드라이버는 family 매개 변수를 AF_INET, AF_INET6 또는 AF_UNSPEC 초기화해야 합니다.
Table 매개 변수가 가리키는 반환된 MIB_MULTICASTIPADDRESS_TABLE 구조체에는 NumEntries 멤버와 MIB_MULTICASTIPADDRESS_TABLE 구조체의 Table 멤버에 있는 첫 번째 MIB_MULTICASTIPADDRESS_ROW 배열 항목 간의 맞춤을 위한 안쪽 여백이 포함될 수 있습니다. 정렬에 대한 안쪽 여백은 MIB_MULTICASTIPADDRESS_ROW 배열 항목 사이에도 있을 수 있습니다. MIB_MULTICASTIPADDRESS_ROW 배열 항목에 대한 액세스는 패딩이 있을 수 있다고 가정해야 합니다.
요구 사항
대상 플랫폼 |
유니버설 |
버전 |
Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 |
Netioapi.h(Netioapi.h 포함) |
라이브러리 |
Netio.lib |
Irql |
< DISPATCH_LEVEL |