Freigeben über


OID_SWITCH_NIC_SAVE

Der Protokollrand des erweiterbaren Hyper-V-Switches gibt während eines Vorgangs eine OID-Methodenanforderung (Object Identifier) von OID_SWITCH_NIC_SAVE aus, um Laufzeitdaten für einen erweiterbaren Switchport und dessen Netzwerkadapterverbindung zu speichern. Die Erweiterung gibt diese Daten zurück, sodass Laufzeitdaten zu einem späteren Zeitpunkt gespeichert und wiederhergestellt werden können. Nachdem die Laufzeitdaten gespeichert wurden, werden sie über OID-Set-Anforderungen von OID_SWITCH_NIC_RESTORE wiederhergestellt.

Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf eine NDIS_SWITCH_NIC_SAVE_STATE-Struktur . Diese Struktur wird vom Protokollrand des erweiterbaren Switches zugeordnet.

Bemerkungen

Wenn die OID-Methodenanforderung von OID_SWITCH_NIC_SAVE empfangen wird, speichert die erweiterbare Switcherweiterung Laufzeitdaten wie folgt:

  • Die Erweiterung speichert die Daten in der NDIS_SWITCH_NIC_SAVE_STATE-Struktur , beginnend mit SaveDataOffset-Bytes am Anfang der Struktur.

  • Wenn das bereitgestellte SaveDataSize-Objekt nicht groß genug ist, um die erforderlichen Speicherdaten zu speichern, legt die Erweiterung das BytesNeeded-Feld der Methodenstruktur auf NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 plus der Menge an Puffer fest, die zum Speichern der Daten erforderlich ist, und schließt die OID mit NDIS_STATUS_BUFFER_TOO_SHORT ab. Die OID wird mit der erforderlichen Größe erneut ausgestellt.

  • Die Erweiterung füllt die Felder ExtensionId und ExtensionFriendlyName mit einem eigenen Bezeichner und Namen auf und schließt die Anforderung der OID-Methode mit NDIS_STATUS_SUCCESS ab. Dies bewirkt, dass der Protokollrand des erweiterbaren Switches eine weitere OID-Methodenanforderung ausgibt, damit die Erweiterung entweder mehr Speicherdaten zurückgibt oder anderen Erweiterungen im Stapel erlaubt, ihre eigenen Daten zu speichern.

Hinweis Wenn die Erweiterung keine Laufzeitdaten zum Speichern enthält, muss sie NdisFOidRequest aufrufen, um diese OID-Methodenanforderung an zugrunde liegende Erweiterungen im erweiterbaren Switchtreiberstapel weiterzuleiten. Weitere Informationen zu diesem Verfahren finden Sie unter Filtern von OID-Anforderungen in einem NDIS-Filtertreiber.

Der erweiterbare Hyper-V-Schalter füllt die Felder Header, PortId, NicIdex, SaveDataSize und SaveDataOffset der Struktur auf, bevor die OID ausgegeben wird. Die Erweiterung kann diese Felder nicht ändern.

OID-Methodenanforderungen von OID_SWITCH_NIC_SAVE werden letztendlich vom zugrunde liegenden Miniportrand des erweiterbaren Switches verarbeitet. Nachdem diese Anforderung der OID-Methode vom Miniportrand des erweiterbaren Schalters empfangen wurde, wird die OID-Anforderung mit NDIS_STATUS_SUCCESS abgeschlossen. Dadurch wird der Protokollrand des erweiterbaren Switches benachrichtigt, dass alle Erweiterungen im erweiterbaren Switchtreiberstapel nach Laufzeitdaten abgefragt wurden. Der Protokollrand des erweiterbaren Switches gibt dann eine OID-Set-Anforderung von OID_SWITCH_NIC_SAVE_COMPLETE aus, um den Speichervorgang abzuschließen.

Weitere Informationen zum Speichern von Laufzeitdaten für einen erweiterbaren Switchport finden Sie unter Saving Hyper-V Extensible Switch Run-Time Data.

Zurückgeben von Statuscodes

Die erweiterbare Switcherweiterung gibt einen der folgenden status Codes für die OID-Methodenanforderung von OID_SWITCH_NIC_SAVE zurück.

Statuscode BESCHREIBUNG

NDIS_STATUS_BUFFER_TOO_SHORT

Die Länge des Informationspuffers ist für den NDIS_SWITCH_NIC_SAVE_STATE und die zugehörigen Laufzeitdaten zu klein. Die erweiterbare Switcherweiterung muss die DATA festlegen. METHOD_INFORMATION. BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.

NDIS_STATUS_SUCCESS

Die Erweiterung gibt diese status zurück, wenn die zu speichernden Laufzeitdaten zurückgegeben werden.

NDIS_STATUS_Xxx

Die Anforderung ist aus anderen Gründen fehlgeschlagen.

Der zugrunde liegende Miniportrand des erweiterbaren Schalters gibt den folgenden status Code für die OID-Methodenanforderung von OID_SWITCH_NIC_SAVE 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_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE