OID_GEN_NETWORK_LAYER_ADDRESSES

집합으로 OID_GEN_NETWORK_LAYER_ADDRESSES OID는 기본 미니포트 드라이버 및 기타 계층화된 드라이버에 바인딩된 인스턴스와 연결된 네트워크 계층 주소 목록에 대해 알립니다.

버전 정보

Windows Vista 이상 버전의 Windows
지원됩니다.

NDIS 6.0 이상 미니포트 드라이버
선택 사항입니다.

NDIS 5.1 미니포트 드라이버
선택 사항입니다.

Windows XP
지원됩니다.

NDIS 5.1 미니포트 드라이버
선택 사항입니다.

설명

바인딩된 instance 호출 전송과 NdisOpenAdapterEx 호출로 설정된 드라이버 간의 바인딩입니다. 전송은 TRANSPORT_ADDRESS 및 TA_ADDRESS 구조를 사용하여 기본 미니포트 드라이버 및 기타 계층화된 드라이버에게 네트워크 계층 주소 목록에 대해 알립니다. 미니포트 드라이버 및 기타 계층화된 드라이버는 다음과 같이 정의된 호환되는 NETWORK_ADDRESS_LIST 및 NETWORK_ADDRESS 구조를 사용하여 바인딩된 인터페이스에서 네트워크 계층 주소 목록을 설정합니다.

typedef struct _NETWORK_ADDRESS_LIST {
  LONG  AddressCount; 
  USHORT  AddressType; 
  NETWORK_ADDRESS  Address[1]; 
} NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST;

이 구조체의 멤버는 다음 정보를 포함합니다.

AddressCount
Address 멤버의 배열에 나열된 네트워크 계층 주소 수를 지정합니다.

AddressType
이 OID를 보내는 프로토콜 형식을 지정합니다. 이 멤버는 AddressCount 멤버가 0으로 설정된 경우에만 유효합니다. AddressCount 멤버는 미니포트 드라이버 또는 다른 계층화된 드라이버에 바인딩된 인터페이스의 네트워크 계층 주소 목록을 지우도록 알리기 위해 0으로 설정됩니다. 프로토콜은 다음 값 중 하나일 수 있습니다.

NDIS_PROTOCOL_ID_DEFAULT
기본 프로토콜

NDIS_PROTOCOL_ID_TCP_IP
TCP/IP 프로토콜

NDIS_PROTOCOL_ID_IPX
NetWare IPX 프로토콜

NDIS_PROTOCOL_ID_NBF
NetBIOS 프로토콜

주소
NETWORK_ADDRESS 형식의 네트워크 계층 주소 배열입니다. AddressCount 멤버는 이 배열의 요소 수를 지정합니다.

typedef struct _NETWORK_ADDRESS {
  USHORT  AddressLength; 
  USHORT  AddressType; 
  UCHAR   Address[1]; 
} NETWORK_ADDRESS, *PNETWORK_ADDRESS;

이 구조체의 멤버는 다음 정보를 포함합니다.

AddressLength
이 네트워크 계층 주소의 크기(바이트)를 지정합니다. 주소 멤버에는 이 주소를 지정하는 바이트 배열이 포함되어 있습니다.

AddressType
이 OID 및 이 네트워크 계층 주소를 보내는 프로토콜 유형을 지정합니다. 이 멤버는 NETWORK_ADDRESS_LIST 구조체의 AddressCount 멤버가 0이 아닌 값으로 설정된 경우에만 유효합니다. NETWORK_ADDRESS_LIST AddressCount 멤버는 미니포트 드라이버 또는 다른 계층화된 드라이버에 바인딩된 인터페이스의 네트워크 계층 주소 목록을 변경하도록 알리기 위해 0이 아닌 값으로 설정됩니다. 프로토콜 형식은 앞의 목록에 정의되어 있습니다.

주소
이 네트워크 계층 주소를 지정하는 바이트 배열입니다. AddressLength 멤버는 이 배열의 바이트 수를 지정합니다.

전송은 NdisOidRequest 함수를 호출할 수 있으며 OID_GEN_NETWORK_LAYER_ADDRESSES 코드로 채워진 NDIS_OID_REQUEST 구조를 전달할 수 있습니다. 이 호출은 바인딩된 instance 해당 instance 연결된 주소의 변경 사항을 알립니다. 이 호출에서 전송은 NdisBindingHandle 매개 변수의 바인딩된 instance 전달합니다. 바인딩된 instance 전송과 기본 미니포트 드라이버 또는 기타 계층화된 드라이버 간에 설정된 바인딩입니다. 이 호출의 경우 전송은 NDIS_OID_REQUEST InformationBuffer 멤버를 TRANSPORT_ADDRESS 구조체에 대한 포인터로 채워야 합니다. TRANSPORT_ADDRESS NETWORK_ADDRESS_LIST 구조에 해당하며 네트워크 계층 주소 목록을 포함해야 합니다.

전송이 중간 드라이버를 통해 기본 미니포트 드라이버로 주소를 전달한다고 가정합니다. 중간 드라이버에도 주소가 필요한 경우 기본 미니포트 드라이버에 전달하기 전에 해당 주소를 기록해 두어야 합니다. 기본 미니포트 드라이버, 특히 이전 드라이버는 NDIS_STATUS_NOT_SUPPORTED 또는 NDIS_STATUS_SUCCESS 상태 값을 반환할 수 있습니다. 기본 미니포트 드라이버는 작업의 상태 전송으로 다시 전파합니다. 중간 드라이버가 주소 알림을 계속 받아야 하고 필요한 경우 중간 드라이버는 상태 NDIS_STATUS_SUCCESS 변경해야 합니다. 그렇지 않으면 전송은 NDIS_STATUS_NOT_SUPPORTED 기본 미니포트 드라이버가 전송 문제 추가 주소 업데이트를 요구하지 않음을 나타내는 것으로 해석할 수 있습니다. NDIS_STATUS_SUCCESS 반환되는 경우 전송은 기본 드라이버에게 주소 추가 및 삭제를 포함하여 연결된 주소의 변경 내용을 계속 알려야 합니다.

프로토콜은 TRANSPORT_ADDRESS AddressCount 멤버를 0으로 설정하여 미니포트 드라이버 또는 기타 계층화된 드라이버에 알리고 바인딩된 인터페이스에서 네트워크 계층 주소 목록을 지울 수 있습니다. AddressCount를 0으로 설정하면 NETWORK_ADDRESS_LIST AddressType 멤버가 유효하고 NETWORK_ADDRESS 구조체의 AddressType 멤버가 유효하지 않습니다. 반면에 프로토콜은 AddressCount 를 0이 아닌 값으로 설정하여 미니포트 드라이버 또는 다른 계층화된 드라이버에 바인딩된 인터페이스의 네트워크 계층 주소 목록을 변경하도록 알릴 수 있습니다. 이 경우 NETWORK_ADDRESS_LIST AddressType 멤버가 유효하지 않으며 NETWORK_ADDRESS 구조체의 AddressType 멤버가 유효합니다.

요구 사항

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx