OID_802_3_ADD_MULTICAST_ADDRESS
Als Setanforderung verwenden NDIS- und überlastende Protokolltreiber die OID_802_3_ADD_MULTICAST_ADDRESS OID-Anforderung, um der Multicastadressenliste eines Miniportadapters eine Multicastadresse 802.3 hinzuzufügen. Die Multicastadresse ist ein Array von 6 Bytes. Durch das Hinzufügen einer Adresse kann diese Adresse Multicastpakete empfangen.
Versionsinformationen
Miniporttreiber NDIS 6.0 und höher
Nicht angefordert.
Bemerkungen
Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält die 6-Byte-Adresse, die der Multicastadressenliste hinzugefügt werden soll.
Die OID_802_3_ADD_MULTICAST_ADDRESS OID-Anforderung kann nur eine Adresse hinzufügen. Um mehrere Adressen hinzuzufügen, muss der überlastende Treiber mehrere OID_802_3_ADD_MULTICAST_ADDRESS OID-Anforderungen ausstellen.
NDIS-Miniporttreiber erhalten diese OID-Anforderung nicht direkt. Stattdessen konsolidiert NDIS jede Sequenz von OID_802_3_ADD_MULTICAST_ADDRESS- und OID_802_3_DELETE_MULTICAST_ADDRESS OID-Anforderungen in eine einzelne OID_802_3_MULTICAST_LIST OID-Anforderung, die an den Miniporttreiber gesendet wird.
Zum Empfangen von Multicastpaketen muss der überlastende Treiber die OID_GEN_CURRENT_PACKET_FILTER OID verwenden, um den Paketfilter NDIS_PACKET_TYPE_MULTICAST-Flag festzulegen.
Der Miniporttreiber kann ein Limit für die Anzahl von Multicastadressen festlegen, die die Multicastadressenliste enthalten kann. Um die maximale Anzahl von Multicastadressen anzugeben, legt der Miniporttreiber das MaxMulticastListSize-Element der NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-Struktur fest, die an die NdisMSetMiniportAttributes-Funktion übergeben wird. Für Miniporttreiber, die auf NDIS-Versionen vor NDIS 6.0 basieren, fragt NDIS die maximale Anzahl von Multicastadressen ab, indem eine OID_802_3_MAXIMUM_LIST_SIZE OID-Anforderung gesendet wird. NDIS gibt NDIS_STATUS_MULTICAST_FULL zurück, wenn eine OID_802_3_ADD_MULTICAST_ADDRESS Anforderung diesen Grenzwert überschreitet.
Um eine zuvor hinzugefügte Multicastadresse zu löschen, stellen Sie eine Setanforderung mit der OID_802_3_DELETE_MULTICAST_ADDRESS OID. Der überlastende Treiber kann eine bestimmte Multicastadresse mehrmals hinzufügen. Wenn NDIS die erste Add-Anforderung für eine bestimmte Multicastadresse erfolgreich ist, ist NDIS alle nachfolgenden Add-Anforderungen für diese Adresse erfolgreich. Um eine Multicastadresse zu löschen, die mehr als einmal hinzugefügt wurde, muss der überlastende Treiber die Adresse so oft löschen, wie die Adresse hinzugefügt wurde.
Anforderungen
Header |
Ntddndis.h (include Ndis.h) |
Weitere Informationen
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES