다음을 통해 공유


OID_802_3_MULTICAST_LIST

설정된 요청으로 NDIS 및 지나치게 많은 프로토콜 드라이버는 OID_802_3_MULTICAST_LIST OID 요청을 사용하여 미니포트 어댑터의 현재 멀티캐스트 주소 목록을 대체합니다. 목록에 주소가 있는 경우 해당 주소는 멀티캐스트 패킷을 받을 수 있습니다.

쿼리 요청으로 NDIS 및 프로토콜 드라이버는 OID_802_3_MULTICAST_LIST OID 요청을 사용하여 현재 멀티캐스트 주소 목록을 가져옵니다.

NDIS는 미니포트 드라이버에 대한 OID_802_3_MULTICAST_LIST 쿼리 요청을 처리하므로 미니포트 드라이버는 이러한 쿼리 요청을 받지 않습니다.

멀티캐스트 주소 목록을 지원하는 미니포트 드라이버는 OID_802_3_MULTICAST_LIST 설정 요청을 지원해야 합니다.

설정된 요청의 경우 NDIS_OID_REQUEST 구조의 InformationBuffer 멤버에는 주소 배열로 멀티캐스트 주소 목록이 포함됩니다.

  • 각 주소는 6바이트 배열입니다.
  • InformationBufferLength 멤버에는 InformationBuffer 배열의 길이(바이트)가 포함됩니다.
  • InformationBuffer 멤버의 목록에 중복 주소가 있는 경우 NDIS는 미니포트 드라이버에 OID_802_3_MULTICAST_LIST 집합 요청을 보내기 전에 중복 주소를 제거합니다.
  • InformationBufferLength 멤버가 0이면 미니포트 드라이버는 멀티캐스트 주소 목록을 지워야 합니다.
  • InformationBufferLength 멤버가 0보다 큰 경우 미니포트 드라이버는 기존 멀티캐스트 주소 목록을 InformationBuffer 멤버의 목록으로 바꿔야 합니다.

미니포트 어댑터의 멀티캐스트 주소 목록은 미니포트 어댑터에 바인딩된 모든 프로토콜 드라이버에서 공유됩니다. NDIS는 이 목록에 대한 액세스를 제어합니다. 여러 프로토콜 드라이버가 동시에 목록을 수정하려고 하면 NDIS는 요청을 미니포트 드라이버에 보내는 단일 OID_802_3_MULTICAST_LIST 집합 요청으로 결합합니다.

미니포트 어댑터가 초기화되면 멀티캐스트 주소 목록이 0이 되도록 NIC를 다시 설정합니다. 또한 NDIS는 프로토콜 드라이버가 멀티캐스트 패킷을 수신할 수 없도록 패킷 필터를 초기화합니다.

멀티캐스트 패킷을 받으려면 프로토콜 드라이버가 나중에 다음 중 하나를 수행해야 합니다.

  • NDIS_PACKET_TYPE_MULTICAST 플래그를 포함하도록 패킷 필터를 설정합니다. 언제든지 이 플래그를 취소하여 멀티캐스트 패킷 수신을 사용하지 않도록 설정할 수 있습니다. 프로토콜 드라이버가 멀티캐스트 패킷에 대해 수신을 사용하도록 설정하는 순서는 중요하지 않습니다. 자세한 내용은 OID_GEN_CURRENT_PACKET_FILTER OID 요청을 참조하세요.
  • 모든 멀티캐스트 패킷을 사용하도록 설정하는 NDIS_PACKET_TYPE_ALL_MULTICAST 플래그를 포함하도록 패킷 필터를 설정하고 필터링 자체를 수행합니다.

미니포트 드라이버는 멀티캐스트 주소 목록에 포함될 수 있는 멀티캐스트 주소 수에 대한 제한을 설정할 수 있습니다. 프로토콜 드라이버가 이 제한을 초과하거나 잘못된 멀티캐스트 주소를 지정하는 경우 NDIS는 NDIS_STATUS_MULTICAST_FULL 반환합니다.

쿼리 요청의 경우 NDIS는 모든 프로토콜 바인딩에 대한 모든 멀티캐스트 주소 목록의 통합인 멀티캐스트 주소 목록을 반환합니다.

요구 사항

헤더

Ntddndis.h(Ndis.h 포함)

추가 정보

OID_802_3_ADD_MULTICAST_ADDRESS

OID_802_3_DELETE_MULTICAST_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_GEN_CURRENT_PACKET_FILTER