OID_SRIOV_READ_VF_CONFIG_BLOCK

Ein übermäßiger Treiber gibt eine OID-Methodenanforderung (Object Identifier) von OID_SRIOV_READ_VF_CONFIG_BLOCK aus, um Daten aus einem angegebenen PCI Express (PCIe) Virtual Function (VF)-Konfigurationsblock zu lesen.

Überlastende Treiber stellen diese OID-Methodenanforderung an den Miniporttreiber für die PCIe Physical Function (PF) des Netzwerkadapters aus. Diese Anforderung der OID-Methode ist für PF-Miniporttreiber erforderlich, die die SR-IOV-Schnittstelle (Single Root I/O Virtualization) unterstützen.

Der 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_READ_VF_CONFIG_BLOCK_PARAMETERS Struktur, die den Offset in Byteeinheiten vom Anfang dieser Struktur bis zu einem Speicherort innerhalb des Puffers enthält, der die Daten enthält, die aus dem VF-Konfigurationsblock gelesen werden.

  • Zusätzlicher Pufferspeicherplatz für die Daten, die aus dem angegebenen VF-Konfigurationsblock gelesen werden sollen.

Bemerkungen

Ein VF-Konfigurationsblock wird für die Backchannelkommunikation zwischen den PF- und VF-Miniporttreibern verwendet. Der IHV kann einen oder mehrere VF-Konfigurationsblöcke für die Miniporttreiber definieren. Jeder VF-Konfigurationsblock hat 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 die OID-Methodenanforderung von OID_SRIOV_READ_VF_CONFIG_BLOCK ausgibt, muss der übergeordnete Treiber die Member NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS Struktur wie folgt festlegen:

  • Legen Sie das VFId-Element auf den Bezeichner des VF fest, aus dem die Informationen gelesen werden sollen.

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

  • Legen Sie den Length-Member auf die Anzahl der Bytes fest, die aus dem Konfigurationsblock gelesen werden sollen.

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

Wenn er die OID-Methodenanforderung von OID_SRIOV_READ_VF_CONFIG_BLOCK verarbeitet, muss der PF-Miniporttreiber die folgenden Richtlinien befolgen:

  • Der PF-Miniporttreiber muss überprüfen, ob der VF, der vom VFId-Member der NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS-Struktur angegeben wird, ressourcen enthält, die zuvor zugeordnet wurden. Der PF-Miniporttreiber ordnet Ressourcen für eine VF während einer OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF zu. 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-Member der NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS-Struktur einen gültigen VF-Konfigurationsblock angibt. Andernfalls muss der Treiber die OID-Anforderung nicht ausführen.

Weitere Informationen zur Backchannelkommunikation innerhalb der SR-IOV-Schnittstelle (Single Root I/O Virtualization) finden Sie unter SR-IOV PF/VF Backchannel Communication.

Zurückgeben von Statuscodes

Der PF-Miniporttreiber gibt einen der folgenden status Codes für die Methodenanforderung von OID_SRIOV_READ_VF_CONFIG_BLOCK zurück.

Statuscode BESCHREIBUNG

NDIS_STATUS_SUCCESS

Die OID-Anforderung wurde erfolgreich abgeschlossen.

NDIS_STATUS_NOT_SUPPORTED

Der Miniporttreiber unterstützt entweder nicht die SR-IOV-Schnittstelle (Single Root I/O Virtualization) oder ist nicht für die Verwendung der Schnittstelle aktiviert.

NDIS_STATUS_INVALID_PARAMETER

Mindestens ein Member der NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS-Struktur hat ungültige Werte.

NDIS_STATUS_INVALID_LENGTH

Der Informationspuffer war zu kurz. Der Miniporttreiber muss die DATEN festlegen. METHOD_INFORMATION. BytesNeeded-Member in der NDIS_OID_REQUEST Struktur auf die erforderliche Mindestpuffergröße.

NDIS_STATUS_FAILURE

Die Anforderung ist aus anderen Gründen fehlgeschlagen.

Requirements (Anforderungen)

Version

Unterstützt in NDIS 6.30 und höher.

Header

Ntddndis.h (include Ndis.h)

Weitere Informationen


NDIS_OID_REQUEST

NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE