다음을 통해 공유


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