Share via


OID_SWITCH_NIC_CREATE

Der Protokollrand des erweiterbaren Hyper-V-Switches gibt eine OID-Set-Anforderung (Object Identifier) von OID_SWITCH_NIC_CREATE aus, um zugrunde liegende erweiterbare Switcherweiterungen zu benachrichtigen, dass eine neue Verbindung zwischen einem erweiterbaren Switchport und einem externen oder virtuellen Netzwerkadapter hergestellt wird. Nachdem die Verbindung vollständig hergestellt wurde, gibt der Protokollrand des erweiterbaren Switches eine OID-Set-Anforderung von OID_SWITCH_NIC_CONNECT aus.

Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_SWITCH_NIC_PARAMETERS-Struktur .

Bemerkungen

Der PortId-Member der NDIS_SWITCH_NIC_PARAMETERS-Struktur gibt den erweiterbaren Switchport an, für den die Erstellungsbenachrichtigung erfolgt. Die erweiterbare Switcherweiterung kann die Parameterinformationen für diesen und andere Ports auf dem erweiterbaren Switch abrufen, indem OID-Abfrageanforderungen von OID_SWITCH_PORT_ARRAY ausgegeben werden.

Der Index-Member der NDIS_SWITCH_NIC_PARAMETERS-Struktur gibt den Index eines Netzwerkadapters an, für den die Erstellungsbenachrichtigung erfolgt. Der Netzwerkadapter mit dem angegebenen Indexwert ist mit dem erweiterbaren Switchport verbunden, der vom PortId-Element angegeben wird. Weitere Informationen zu diesen Indexwerten finden Sie unter Indexwerte für Netzwerkadapter.

Wenn die OID-Set-Anforderung von OID_SWITCH_NIC_CREATE empfangen wird, muss die Erweiterung die folgenden Richtlinien befolgen:

  • Die Erweiterung darf die NDIS_SWITCH_NIC_PARAMETERS Struktur, die der OID-Anforderung zugeordnet ist, nicht ändern.

  • Die OID_SWITCH_NIC_CREATE-Anforderung benachrichtigt die Erweiterung nur darüber, dass eine neue erweiterbare Switchverbindung hergestellt wird und dass der Paketdatenverkehr möglicherweise bald über den angegebenen Port erfolgt. Die Erweiterung kann den Port jedoch erst verwenden, wenn der Protokollrand des erweiterbaren Switches eine OID-Set-Anforderung von OID_SWITCH_NIC_CONNECT ausgibt. Bis diese OID ausgestellt wird, darf die Erweiterung nicht die folgenden Aktionen ausführen:

    • Generieren Sie jeglichen Paketdatenverkehr an die Netzwerkadapterverbindung über den erweiterbaren Switchport, für den die OID_SWITCH_NIC_CREATE OID-Anforderung ausgestellt wurde.

    • Weiterleiten oder Erstellen von OID-Anforderungen von OID_SWITCH_NIC_REQUEST an einen zugrunde liegenden Netzwerkadapter, für den die OID_SWITCH_NIC_CREATE OID-Anforderung ausgestellt wurde.

    • Weiterleiten oder Erstellen von NDIS status Hinweise auf NDIS_STATUS_SWITCH_NIC_STATUS von einem zugrunde liegenden Netzwerkadapter, für den die OID_SWITCH_NIC_CREATE OID-Anforderung ausgestellt wurde.

    • Rufen Sie ReferenceSwitchNic auf, um den Verweiszähler für den erweiterbaren Switch für die angegebene Netzwerkadapterverbindung am erweiterbaren Switchport zu inkrementieren.

    Hinweis Die Erweiterung kann das Senden oder Empfangen von Paketen für den angegebenen Port zwischen den OID-Anforderungen von OID_SWITCH_NIC_CREATE und OID_SWITCH_NIC_CONNECT abfangen. In diesem Fall sollte die Erweiterung die Anforderungen zum Senden oder Empfangen von Paketen weiterleiten, anstatt sie abzubrechen.

  • Die Erweiterung kann ein Veto gegen die Erstellungsbenachrichtigung einwenden, indem NDIS_STATUS_DATA_NOT_ACCEPTED für die OID-Anforderung zurückgegeben wird. Wenn eine Erweiterung beispielsweise die konfigurierten Richtlinien für den angegebenen Port nicht erfüllen kann, sollte die Erweiterung ein Veto gegen die Erstellungsbenachrichtigung einwenden.

    Wenn die Erweiterung andere NDIS_STATUS_Xxx-status-Codes zurückgibt, wird auch die Erstellungsbenachrichtigung vetoiert. Die Rückgabe status Codes für transitorische Szenarien, z. B. die Rückgabe von NDIS_STATUS_RESOURCES, kann jedoch zu einem Wiederholungsversuch der Erstellungsbenachrichtigung führen.

    Wenn die Erweiterung kein Veto gegen die OID-Anforderung eingibt, sollte sie die status überwachen, wenn die Anforderung abgeschlossen ist. Die Erweiterung sollte dies tun, um zu bestimmen, ob die OID-Anforderung von zugrunde liegenden Erweiterungen im erweiterbaren Switchsteuerungspfad oder von der erweiterbaren Switchschnittstelle vetoiert wurde.

    Hinweis Die Erweiterung kann nur dann ein Veto gegen die OID-Anforderung ausführen, wenn der Index-Member der NDIS_SWITCH_NIC_PARAMETERS-Struktur den Indexwert 0 (null) des Netzwerkadapters angibt.

  • Wenn die Erweiterung kein Veto gegen die Erstellungsbenachrichtigung einlegt, muss sie NdisFOidRequest aufrufen, um diese OID-Anforderung an zugrunde liegende Erweiterungen im erweiterbaren Switchtreiberstapel weiterzuleiten.

    Hinweis Die Erweiterung sollte den Abschluss status dieser OID-Anforderung überwachen. Die Erweiterung erkennt auf diese Weise, ob zugrunde liegende Erweiterungen im erweiterbaren Switchtreiberstapel ein Veto für die Erstellungsbenachrichtigung haben.

  • Wenn die Erweiterung NdisFOidRequest aufruft, um diese OID-Anforderung weiterzuleiten, empfängt die Erweiterung nicht sofort Paketdatenverkehr zum oder vom erweiterbaren Switchport. Darüber hinaus kann die Erweiterung nicht sofort Sende- oder Empfangsdatenverkehr für den erweiterbaren Switchport einfügen.

  • Die Erweiterung kann Paketdatenverkehr nur an den erweiterbaren Switchport weiterleiten, nachdem der Protokollrand des erweiterbaren Switches eine OID-Set-Anforderung von OID_SWITCH_NIC_CONNECT ausgibt.

    Hinweis In einigen Situationen kann der Paketdatenverkehr vom erweiterbaren Switch an den Port weitergeleitet werden, bevor eine OID-Set-Anforderung von OID_SWITCH_NIC_CONNECT ausgegeben wird.

  • Der erweiterbare externe Switch-Netzwerkadapter kann an einen oder mehrere zugrunde liegende physische Adapter gebunden werden. Für jeden physischen Netzwerkadapter, der an den externen Netzwerkadapter gebunden ist, gibt der Protokollrand des erweiterbaren Switches eine separate OID-Satzanforderung von OID_SWITCH_NIC_CREATE aus. Jede OID-Satzanforderung gibt einen anderen Wert für den Netzwerkadapterverbindungsindex an. Weitere Informationen zu diesen Indexwerten finden Sie unter Indexwerte für Netzwerkadapter.

    Die Erweiterung muss den Verbindungsstatus für jeden zugrunde liegenden physischen Adapter beibehalten. Weitere Informationen zu den verschiedenen Konfigurationen, in denen physische Netzwerkadapter an den externen Netzwerkadapter gebunden werden können, finden Sie unter Typen physischer Netzwerkadapterkonfigurationen.

Weitere Informationen zu den Zuständen von erweiterbaren Switchports und Netzwerkadapterverbindungen finden Sie unter Hyper-V Extensible Switch Port und Netzwerkadapterstatus.

Hinweis Die Erweiterung darf keine eigenen OID-Satzanforderungen von OID_SWITCH_NIC_CREATE ausstellen.

Zurückgeben von Statuscodes

Wenn die Erweiterung die OID-Set-Anforderung von OID_SWITCH_NIC_CREATE abschließt, gibt sie einen der folgenden status Codes zurück.

Statuscode BESCHREIBUNG

NDIS_STATUS_DATA_NOT_ACCEPTED

Die Erweiterung hat ein Veto gegen die Erstellungsbenachrichtigung eingezogen.

NDIS_STATUS_RESOURCES

Die Erweiterung hat die Erstellungsbenachrichtigung aufgrund einer geringen Ressourcenbedingung mit einem Veto versehen.

NDIS_STATUS_Xxx

Die Erweiterung hat aus anderen Gründen ein Veto gegen die Erstellungsbenachrichtigung ein.

Hinweis Wenn die Erweiterung die OID-Set-Anforderung abschließt, darf sie nicht NDIS_STATUS_SUCCESS zurückgeben.

Wenn die Erweiterung die OID-Set-Anforderung von OID_SWITCH_NIC_CREATE nicht abschließt, wird die Anforderung durch den zugrunde liegenden Miniportrand des erweiterbaren Switches abgeschlossen. Der zugrunde liegende Miniport-Edge gibt den folgenden status Code für diese OID-Satzanforderung zurück:

Statuscode BESCHREIBUNG

NDIS_STATUS_SUCCESS

Die OID-Anforderung wurde erfolgreich abgeschlossen.

Requirements (Anforderungen)

Version

Unterstützt in NDIS 6.30 und höher.

Header

Ntddndis.h (include Ndis.h)

Weitere Informationen


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_CONNECT

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort