OID_802_3_ADD_MULTICAST_ADDRESS
Als set-Anforderung verwenden NDIS und überlying-Protokolltreiber die OID_802_3_ADD_MULTICAST_ADDRESS OID-Anforderung, um der Multicastadresse eines Miniportadapters eine Multicastadresse 802.3 hinzuzufügen. Die Multicastadresse ist ein Array von 6 Byte. Durch das Hinzufügen einer Adresse kann diese Adresse Multicastpakete empfangen.
Versionsinformationen
NDIS 6.0 und höher Miniporttreiber
Nicht angefordert.
Bemerkungen
Das InformationBuffer- Mitglied der NDIS_OID_REQUEST-Struktur enthält die 6-Byte-Adresse, die der Multicast-Adressliste 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 übersteigende Treiber mehrere OID_802_3_ADD_MULTICAST_ADDRESS OID-Anforderungen ausgeben.
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 sie an den Miniporttreiber sendet.
Um Multicastpakete zu empfangen, muss der Überlauftreiber das OID_GEN_CURRENT_PACKET_FILTER OID verwenden, um den Paketfilter NDIS_PACKET_TYPE_MULTICAST Flag festzulegen.
Der Miniporttreiber kann einen Grenzwert für die Anzahl der Multicastadressen festlegen, die die Multicast-Adressliste enthalten kann. Um die maximale Anzahl von Multicastadressen anzugeben, legt der Miniporttreiber die MaxMulticastListSize Member der NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES-Struktur fest, die an die NdisMSetMiniportAttributes Funktion übergeben wird. Bei Miniporttreibern, 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, erstellen Sie eine set-Anforderung mit dem OID_802_3_DELETE_MULTICAST_ADDRESS OID. Der Überlauftreiber kann mehrmals eine bestimmte Multicastadresse hinzufügen. Wenn NDIS die erste Add-Anforderung für eine bestimmte Multicastadresse erfolgreich ist, führt NDIS alle nachfolgenden Add-Anforderungen für diese Adresse aus. Um eine Multicastadresse zu löschen, die mehrmals hinzugefügt wurde, muss der übersteigende Treiber die Adresse genauso oft löschen, wie sie die Adresse hinzugefügt hat.
Anforderungen
Kopfball |
Ntddndis.h (include Ndis.h) |
Siehe auch
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES