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) |