OID_802_3_MULTICAST_LIST

Sebagai permintaan yang ditetapkan, NDIS dan driver protokol yang terlalu berlebihan menggunakan permintaan OID OID_802_3_MULTICAST_LIST untuk mengganti daftar alamat multicast saat ini pada adaptor miniport. Jika alamat ada dalam daftar, alamat tersebut diaktifkan untuk menerima paket multicast.

Sebagai permintaan kueri, NDIS dan driver protokol menggunakan permintaan OID OID_802_3_MULTICAST_LIST untuk mendapatkan daftar alamat multicast saat ini.

NDIS menangani permintaan kueri OID_802_3_MULTICAST_LIST untuk driver miniport, sehingga driver miniport tidak pernah menerima permintaan kueri ini.

Driver miniport yang mendukung daftar alamat multicast harus mendukung OID_802_3_MULTICAST_LIST mengatur permintaan.

Untuk permintaan yang ditetapkan, anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi daftar alamat multicast sebagai array alamat.

  • Setiap alamat adalah array 6 byte.
  • Anggota InformationBufferLength berisi panjang, dalam byte, dari array InformationBuffer .
  • Jika ada alamat duplikat dalam daftar di anggota InformationBuffer , NDIS menghapus duplikat sebelum mengirim permintaan set OID_802_3_MULTICAST_LIST ke driver miniport.
  • Jika anggota InformationBufferLength nol, driver miniport harus menghapus daftar alamat multicast.
  • Jika anggota InformationBufferLength lebih besar dari nol, driver miniport harus mengganti daftar alamat multicast yang ada dengan daftar di anggota InformationBuffer .

Daftar alamat multicast adaptor miniport dibagikan oleh semua driver protokol yang terikat ke adaptor miniport. NDIS mengontrol akses ke daftar ini. Jika beberapa driver protokol mencoba memodifikasi daftar secara bersamaan, NDIS menggabungkan permintaan mereka ke dalam satu permintaan yang ditetapkan OID_802_3_MULTICAST_LIST, yang dikirimnya ke driver miniport.

Ketika adaptor miniport diinisialisasi, adaptor ini mengatur ulang NIC sehingga daftar alamat multicast adalah nol. NDIS juga menginisialisasi filter paket sehingga tidak memungkinkan driver protokol untuk menerima paket multicast.

Untuk menerima paket multicast, driver protokol nantinya harus melakukan salah satu hal berikut:

  • Atur filter paket untuk menyertakan bendera NDIS_PACKET_TYPE_MULTICAST . Kapan saja, layanan ini dapat menonaktifkan penerimaan paket multicast dengan membatalkan bendera ini. Urutan di mana driver protokol memungkinkan penerimaan untuk paket multicast tidak penting. Untuk informasi selengkapnya, lihat permintaan OID OID_GEN_CURRENT_PACKET_FILTER .
  • Atur filter paket untuk menyertakan bendera NDIS_PACKET_TYPE_ALL_MULTICAST , yang memungkinkan semua paket multicast, dan melakukan pemfilteran itu sendiri.

Driver miniport dapat menetapkan batas jumlah alamat multicast yang dapat dimuat oleh daftar alamat multicast. NDIS mengembalikan NDIS_STATUS_MULTICAST_FULL jika driver protokol melebihi batas ini atau jika menentukan alamat multicast yang tidak valid.

Untuk permintaan kueri, NDIS mengembalikan daftar alamat multicast yang merupakan gabungan dari semua daftar alamat multicast untuk semua pengikatan protokol.

Persyaratan

Header

Ntddndis.h (termasuk Ndis.h)

Lihat juga

OID_802_3_ADD_MULTICAST_ADDRESS

OID_802_3_DELETE_MULTICAST_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_GEN_CURRENT_PACKET_FILTER