MIB_IF_ROW2 구조체(netioapi.h)
MIB_IF_ROW2 구조체는 특정 인터페이스에 대한 정보를 저장합니다.
구문
typedef struct _MIB_IF_ROW2 {
NET_LUID InterfaceLuid;
NET_IFINDEX InterfaceIndex;
GUID InterfaceGuid;
WCHAR Alias[IF_MAX_STRING_SIZE + 1];
WCHAR Description[IF_MAX_STRING_SIZE + 1];
ULONG PhysicalAddressLength;
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
UCHAR PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
ULONG Mtu;
IFTYPE Type;
TUNNEL_TYPE TunnelType;
NDIS_MEDIUM MediaType;
NDIS_PHYSICAL_MEDIUM PhysicalMediumType;
NET_IF_ACCESS_TYPE AccessType;
NET_IF_DIRECTION_TYPE DirectionType;
struct {
BOOLEAN HardwareInterface : 1;
BOOLEAN FilterInterface : 1;
BOOLEAN ConnectorPresent : 1;
BOOLEAN NotAuthenticated : 1;
BOOLEAN NotMediaConnected : 1;
BOOLEAN Paused : 1;
BOOLEAN LowPower : 1;
BOOLEAN EndPointInterface : 1;
} InterfaceAndOperStatusFlags;
IF_OPER_STATUS OperStatus;
NET_IF_ADMIN_STATUS AdminStatus;
NET_IF_MEDIA_CONNECT_STATE MediaConnectState;
NET_IF_NETWORK_GUID NetworkGuid;
NET_IF_CONNECTION_TYPE ConnectionType;
ULONG64 TransmitLinkSpeed;
ULONG64 ReceiveLinkSpeed;
ULONG64 InOctets;
ULONG64 InUcastPkts;
ULONG64 InNUcastPkts;
ULONG64 InDiscards;
ULONG64 InErrors;
ULONG64 InUnknownProtos;
ULONG64 InUcastOctets;
ULONG64 InMulticastOctets;
ULONG64 InBroadcastOctets;
ULONG64 OutOctets;
ULONG64 OutUcastPkts;
ULONG64 OutNUcastPkts;
ULONG64 OutDiscards;
ULONG64 OutErrors;
ULONG64 OutUcastOctets;
ULONG64 OutMulticastOctets;
ULONG64 OutBroadcastOctets;
ULONG64 OutQLen;
} MIB_IF_ROW2, *PMIB_IF_ROW2;
멤버
InterfaceLuid
형식: NET_LUID
네트워크 인터페이스에 대한 LUID(로컬 고유 식별자)입니다.
InterfaceIndex
형식: NET_IFINDEX
네트워크 인터페이스를 식별하는 인덱스입니다. 이 인덱스 값은 네트워크 어댑터를 사용하지 않도록 설정한 다음 사용하도록 설정할 때 변경될 수 있으며 영구로 간주해서는 안 됩니다.
InterfaceGuid
형식: GUID
네트워크 인터페이스의 GUID입니다.
Alias[IF_MAX_STRING_SIZE + 1]
형식: WCHAR[IF_MAX_STRING_SIZE + 1]
네트워크 인터페이스의 별칭 이름을 포함하는 NULL로 끝나는 유니코드 문자열입니다.
Description[IF_MAX_STRING_SIZE + 1]
형식: WCHAR[IF_MAX_STRING_SIZE + 1]
네트워크 인터페이스에 대한 설명을 포함하는 NULL로 끝나는 유니코드 문자열입니다.
PhysicalAddressLength
형식: ULONG
PhysicalAddress 멤버가 지정한 실제 하드웨어 주소의 길이(바이트)입니다.
PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
형식: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
이 네트워크 인터페이스에 대한 어댑터의 실제 하드웨어 주소입니다.
PermanentPhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
형식: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
이 네트워크 인터페이스에 대한 어댑터의 영구 물리적 하드웨어 주소입니다.
Mtu
형식: ULONG
이 네트워크 인터페이스에 대한 MTU(최대 전송 단위) 크기(바이트)입니다.
Type
형식: IFTYPE
IANA(Internet Assigned Names Authority)에서 정의한 인터페이스 형식입니다. 자세한 내용은 http://www.iana.org/assignments/ianaiftype-mib를 참조하세요. 인터페이스 형식에 사용할 수 있는 값은 Ipifcons.h 헤더 파일에 나열됩니다.
아래 표에는 인터페이스 형식에 대한 공통 값이 나와 있지만 다른 많은 값이 가능합니다.
TunnelType
형식: TUNNEL_TYPE
Type 멤버가 IF_TYPE_TUNNEL 경우 터널에서 사용하는 캡슐화 메서드입니다. 터널 유형은 IANA(Internet Assigned Names Authority)에 의해 정의됩니다. 자세한 내용은 http://www.iana.org/assignments/ianaiftype-mib를 참조하세요. 이 멤버는 Ifdef.h 헤더 파일에 정의된 TUNNEL_TYPE 열거형 형식의 값 중 하나일 수 있습니다.
MediaType
형식: NDIS_MEDIUM
인터페이스에 대한 NDIS 미디어 형식입니다. 이 멤버는 Ntddndis.h 헤더 파일에 정의된 NDIS_MEDIUM 열거형 형식의 값 중 하나일 수 있습니다.
PhysicalMediumType
형식: NDIS_PHYSICAL_MEDIUM
NDIS 물리적 중간 형식입니다. 이 멤버는 Ntddndis.h 헤더 파일에 정의된 NDIS_PHYSICAL_MEDIUM 열거형 형식의 값 중 하나일 수 있습니다.
AccessType
형식: NET_IF_ACCESS_TYPE
인터페이스 액세스 형식입니다. 이 멤버는 Ifdef.h 헤더 파일에 정의된 NET_IF_ACCESS_TYPE 열거형 형식의 값 중 하나일 수 있습니다.
DirectionType
형식: NET_IF_DIRECTION_TYPE
인터페이스 방향 형식입니다. 이 멤버는 Ifdef.h 헤더 파일에 정의된 NET_IF_DIRECTION_TYPE 열거형 형식의 값 중 하나일 수 있습니다.
InterfaceAndOperStatusFlags
인터페이스에 대한 정보를 제공하는 플래그 집합입니다. 이러한 플래그는 비트 OR 연산과 결합됩니다. 플래그가 적용되지 않으면 이 멤버가 0으로 설정됩니다.
InterfaceAndOperStatusFlags.HardwareInterface
형식: BOOLEAN 네트워크 인터페이스가 하드웨어용인지 설정합니다.
InterfaceAndOperStatusFlags.FilterInterface
형식: BOOLEAN 네트워크 인터페이스가 필터 모듈용인지 설정합니다.
InterfaceAndOperStatusFlags.ConnectorPresent
형식: BOOLEAN 네트워크 인터페이스에 커넥터가 있는 경우 를 설정합니다. 이 값은 실제 네트워크 어댑터가 있는 경우 설정됩니다.
InterfaceAndOperStatusFlags.NotAuthenticated
형식: BOOLEAN 네트워크 인터페이스의 기본 포트가 인증되지 않은 경우 를 설정합니다. 네트워크 인터페이스가 대상에 의해 인증되지 않은 경우 네트워크 인터페이스는 작동 모드가 아닙니다. 이는 유선 및 무선 네트워크 연결 모두에 적용되지만 무선 네트워크 연결에 대해 인증이 더 일반적입니다.
InterfaceAndOperStatusFlags.NotMediaConnected
형식: BOOLEAN 네트워크 인터페이스가 미디어에 연결된 상태가 아닌 경우 를 설정합니다. 유선 네트워크에 대해 네트워크 케이블을 분리하면 이 설정이 설정됩니다. 무선 네트워크의 경우 네트워크에 연결되지 않은 네트워크 어댑터에 대해 설정됩니다.
InterfaceAndOperStatusFlags.Paused
형식: BOOLEAN 네트워크 인터페이스의 네트워크 스택이 일시 중지 또는 일시 중지 상태인 경우 를 설정합니다. 컴퓨터가 최대 절전 모드 상태인 것은 아닙니다.
InterfaceAndOperStatusFlags.LowPower
형식: BOOLEAN 네트워크 인터페이스가 저전력 상태인 경우 를 설정합니다.
InterfaceAndOperStatusFlags.EndPointInterface
형식: BOOLEAN 네트워크 인터페이스가 네트워크에 연결하는 실제 네트워크 인터페이스가 아닌 엔드포인트 디바이스인지를 설정합니다. 네트워킹 인프라를 사용하여 PC와 통신하지만 외부 네트워크에 대한 연결을 제공하지 않는 스마트폰과 같은 디바이스에서 설정할 수 있습니다. 이러한 유형의 디바이스에서 이 플래그를 설정해야 합니다.
OperStatus
형식: IF_OPER_STATUS
작동 상태 RFC 2863에서 IfOperStatus로 정의된 인터페이스에 대한 것입니다. 자세한 내용은 http://www.ietf.org/rfc/rfc2863.txt를 참조하세요. 이 멤버는 Ifdef.h 헤더 파일에 정의된 IF_OPER_STATUS 열거형 형식의 값 중 하나일 수 있습니다.
AdminStatus
형식: NET_IF_ADMIN_STATUS
RFC 2863에 정의된 대로 인터페이스에 대한 관리 상태. 자세한 내용은 http://www.ietf.org/rfc/rfc2863.txt를 참조하세요. 이 멤버는 Ifdef.h 헤더 파일에 정의된 NET_IF_ADMIN_STATUS 열거형 형식의 값 중 하나일 수 있습니다.
MediaConnectState
형식: NET_IF_MEDIA_CONNECT_STATE
인터페이스의 연결 상태입니다. 이 멤버는 Ifdef.h 헤더 파일에 정의된 NET_IF_MEDIA_CONNECT_STATE 열거형 형식의 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
인터페이스의 연결 상태를 알 수 없습니다. |
|
인터페이스가 네트워크에 연결됩니다. |
|
인터페이스가 네트워크에 연결되어 있지 않습니다. |
NetworkGuid
형식: NET_IF_NETWORK_GUID
인터페이스가 속한 네트워크와 연결된 GUID입니다.
ConnectionType
형식: NET_IF_CONNECTION_TYPE
NDIS 네트워크 인터페이스 연결 유형입니다. 이 멤버는 Ifdef.h 헤더 파일에 정의된 NET_IF_CONNECTION_TYPE 열거형 형식의 값 중 하나일 수 있습니다.
TransmitLinkSpeed
형식: ULONG64
전송 링크의 초당 비트 단위 속도입니다.
ReceiveLinkSpeed
형식: ULONG64
수신 링크의 초당 비트 수입니다.
InOctets
형식: ULONG64
이 인터페이스를 통해 오류 없이 수신된 데이터의 8진수입니다. 이 값에는 유니캐스트, 브로드캐스트 및 멀티캐스트 패킷의 옥텟이 포함됩니다.
InUcastPkts
형식: ULONG64
이 인터페이스를 통해 오류 없이 수신된 유니캐스트 패킷의 수입니다.
InNUcastPkts
형식: ULONG64
이 인터페이스를 통해 오류 없이 수신된 유니캐스트가 아닌 패킷의 수입니다. 이 값에는 브로드캐스트 및 멀티캐스트 패킷이 포함됩니다.
InDiscards
형식: ULONG64
패킷이 상위 계층 프로토콜에 전달되지 않도록 오류가 검색되지 않았음에도 불구하고 삭제되도록 선택한 인바운드 패킷의 수입니다.
InErrors
형식: ULONG64
오류로 인해 삭제된 들어오는 패킷의 수입니다.
InUnknownProtos
형식: ULONG64
프로토콜을 알 수 없어 삭제된 들어오는 패킷의 수입니다.
InUcastOctets
형식: ULONG64
이 인터페이스를 통해 유니캐스트 패킷에서 오류 없이 수신된 데이터의 8진수입니다.
InMulticastOctets
형식: ULONG64
이 인터페이스를 통해 멀티캐스트 패킷에서 오류 없이 수신된 데이터의 8진수입니다.
InBroadcastOctets
형식: ULONG64
이 인터페이스를 통해 브로드캐스트 패킷에서 오류 없이 수신된 데이터의 8진수입니다.
OutOctets
형식: ULONG64
이 인터페이스를 통해 오류 없이 전송되는 데이터의 8진수입니다. 이 값에는 유니캐스트, 브로드캐스트 및 멀티캐스트 패킷의 옥텟이 포함됩니다.
OutUcastPkts
형식: ULONG64
이 인터페이스를 통해 오류 없이 전송되는 유니캐스트 패킷의 수입니다.
OutNUcastPkts
형식: ULONG64
이 인터페이스를 통해 오류 없이 전송되는 유니캐스트가 아닌 패킷의 수입니다. 이 값에는 브로드캐스트 및 멀티캐스트 패킷이 포함됩니다.
OutDiscards
형식: ULONG64
오류가 없는 경우에도 삭제된 나가는 패킷의 수입니다.
OutErrors
형식: ULONG64
오류로 인해 삭제된 나가는 패킷의 수입니다.
OutUcastOctets
형식: ULONG64
이 인터페이스를 통해 유니캐스트 패킷에서 오류 없이 전송되는 데이터의 8진수입니다.
OutMulticastOctets
형식: ULONG64
이 인터페이스를 통해 멀티캐스트 패킷에서 오류 없이 전송되는 데이터의 8진수입니다.
OutBroadcastOctets
형식: ULONG64
이 인터페이스를 통해 브로드캐스트 패킷에서 오류 없이 전송되는 데이터의 8진수입니다.
OutQLen
형식: ULONG64
전송 큐 길이입니다. 이 필드는 현재 사용되지 않습니다.
설명
MIB_IF_ROW2 구조체는 Windows Vista 이상에서 정의됩니다.
형식 필드의 값은 Ipifcons.h 헤더 파일에 정의됩니다. Type 멤버의 설명에 나열된 가능한 값만 현재 지원됩니다.
Netioapi.h 헤더 파일은 Iphlpapi.h 헤더 파일에 자동으로 포함됩니다. Netioapi.h 헤더 파일은 직접 사용하면 안 됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
머리글 | netioapi.h(Iphlpapi.h 포함) |