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