Freigeben über


OID_SRIOV_WRITE_VF_CONFIG_BLOCK

Ein übermäßiger Treiber gibt eine OID-Setanforderung (Object Identifier) von OID_SRIOV_WRITE_VF_CONFIG_BLOCK aus, um Daten in einen PCI Express (PCIe) Virtual Function (VF)-Konfigurationsblock zu schreiben.

Überlying drivers issue this OID set request to the miniport driver for the network adapter's PCIe Physical Function (PF). Diese OID-Methodenanforderung ist für PF-Miniporttreiber erforderlich, die die einzelne I/O-Virtualisierungsschnittstelle (SR-IOV) unterstützen.

Das InformationBuffer Member der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf einen vom Aufrufer zugewiesenen Puffer. Dieser Puffer ist so formatiert, dass er Folgendes enthält:

  • Eine NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS Struktur, die den Offset (in Byteeinheiten) vom Anfang dieser Struktur bis zu einer Position innerhalb des Puffers enthält, die die Daten enthält, die in den VF-Konfigurationsblock geschrieben werden.

  • Zusätzlicher Pufferplatz für die Daten, die in den angegebenen VF-Konfigurationsblock geschrieben werden sollen.

Bemerkungen

Ein VF-Konfigurationsblock wird für die Backchannel-Kommunikation zwischen den PF- und VF-Miniporttreibern verwendet. Der IHV kann einen oder mehrere VF-Konfigurationsblöcke für die Miniporttreiber definieren. Jeder VF-Konfigurationsblock verfügt über ein IHV-definiertes Format, eine Länge und eine Block-ID.

Hinweis Daten aus jedem VF-Konfigurationsblock werden nur von den PF- und VF-Miniporttreibern verwendet.

Bevor sie die OID-Setanforderung von OID_SRIOV_WRITE_VF_CONFIG_BLOCK ausgibt, muss der übersteigende Treiber die Member der NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS Struktur wie folgt festlegen:

  • Legen Sie die VFId Mitglied auf den Bezeichner des VF fest, für den die Informationen geschrieben werden sollen.

  • Legen Sie den BlockId- Member auf den Bezeichner des Konfigurationsblocks fest, aus dem die Informationen geschrieben werden sollen.

  • Legen Sie den Length Member auf die Anzahl der Bytes fest, die in den VF-Konfigurationsblock geschrieben werden sollen.

  • Legen Sie den BufferOffset- Member auf den Offset innerhalb des Puffers fest (auf den InformationBuffer Member verwiesen wird), der die Daten enthält, die aus dem angegebenen VF-Konfigurationsblock geschrieben werden sollen. Dieser Offset wird in Byteeinheiten vom Anfang der NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-Struktur angegeben.

Wenn sie die OID-Setanforderung von OID_SRIOV_WRITE_VF_CONFIG_BLOCK verarbeitet, muss der PF-Miniporttreiber die folgenden Richtlinien befolgen:

  • Der PF-Miniporttreiber muss überprüfen, ob der VFId, der durch die VFId Mitglied der NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-Struktur angegeben ist, Über Ressourcen verfügt, die zuvor zugeordnet wurden. Der PF Miniport-Treiber weist ressourcen für einen VF während einer OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VFzu. Wenn ressourcen für den angegebenen VF nicht zugeordnet wurden, muss der Treiber die OID-Anforderung nicht ausführen.

  • Der PF-Miniporttreiber muss überprüfen, ob der BlockId- Mitglied der NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-Struktur einen gültigen VF-Konfigurationsblock angibt. Wenn nicht, muss der Treiber die OID-Anforderung nicht ausführen.

Weitere Informationen zur Backchannel-Kommunikation innerhalb der einzelnen I/O-Virtualisierungsschnittstelle (SR-IOV) finden Sie unter SR-IOV PF/VF Backchannel Communication.

Rückgabestatuscodes

Der Miniport-Treiber gibt einen der folgenden Statuscodes für die OID-Setanforderung von OID_SRIOV_WRITE_VF_CONFIG_BLOCK zurück:

Statuscode Beschreibung

NDIS_STATUS_SUCCESS

Die OID-Anforderung wurde erfolgreich abgeschlossen.

NDIS_STATUS_NOT_SUPPORTED

Der Miniporttreiber unterstützt weder die einzelne I/O-Virtualisierungsschnittstelle (SR-IOV) noch ist die Verwendung der Schnittstelle aktiviert.

NDIS_STATUS_INVALID_PARAMETER

Mindestens ein Element der NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS-Struktur hat ungültige Werte.

NDIS_STATUS_INVALID_LENGTH

Der Informationspuffer war zu kurz. NDIS legt die DATA fest. SET_INFORMATION. BytesNeededed Member in der NDIS_OID_REQUEST Struktur auf die erforderliche Mindestpuffergröße.

NDIS_STATUS_FAILURE

Fehler bei der Anforderung aus anderen Gründen.

Anforderungen

Version

Unterstützt in NDIS 6.30 und höher.

Kopfball

Ntddndis.h (include Ndis.h)

Siehe auch


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE