OID_SRIOV_BAR_RESOURCES
NDIS gibt eine OID-Methode (Object Identifier) -Anforderung von OID_SRIOV_BAR_RESOURCES aus, um die Arbeitsspeicherressourcen zu bestimmen, die einem PCI Express (PCIe) Base Address Register (BAR) einer PCIe Virtual Function (VF) zugeordnet wurden.
NDIS stellt diese Anforderung der OID-Methode 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 E/O Virtualization) unterstützen.
Das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur enthält einen Zeiger auf einen Puffer. Dieser Puffer enthält die folgenden Strukturen:
Eine NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur , die die VF und bar angibt, für die der PF-Miniporttreiber Ressourceninformationen zurückgibt.
Eine CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur , die der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur folgt. Die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur enthält Informationen zu den Speicherressourcen, die dem angegebenen BALKEN zugeordnet wurden.
Bemerkungen
NDIS stellt eine OID-Methodenanforderung von OID_SRIOV_BAR_RESOURCES aus, um die physische Systemadresse und die Länge der Speicherressourcen abzurufen, die einem VF BAR zugewiesen wurden. Bevor die OID-Methodenanforderung ausgibt, formatiert NDIS die NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur wie folgt:
NDIS legt das VFId-Element der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur auf den Bezeichner fest, der dem VF zugeordnet ist.
NDIS legt das BarIndex-Element der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur auf den BAR-Index für den angegebenen VF fest. Der BAR-Index ist der Offset des Registers in der Tabelle der BARs im PCI-Konfigurationsraum.
NDIS legt das BarResourcesOffset-Element der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur in Byteseinheiten vom Anfang der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur auf eine CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur fest.
Hinweis Überlastende Treiber, z. B. Protokoll- oder Filtertreiber, können keine OID-Methodenanforderungen von OID_SRIOV_BAR_RESOURCES an den PF-Miniporttreiber ausgeben.
Wenn der PF-Miniporttreiber die Anforderung der OID-Methode empfängt, gibt der Treiber die Ressourcen für den angegebenen BAR zurück, indem er die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur innerhalb des InformationBuffer-Members der NDIS_OID_REQUEST-Struktur formatiert. Der Treiber formatiert die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur mit den Systemhardwareressourcen, die dem BAR für den angegebenen VF zugeordnet sind.
Hinweis Der Treiber muss die Struktur für einen Ressourcentyp cmResourceTypeMemory formatieren.
Rückgabestatuscodes
Der PF-Miniporttreiber gibt einen der folgenden status-Codes für die Methodenanforderung von OID_SRIOV_BAR_RESOURCES zurück.
Statuscode | BESCHREIBUNG |
---|---|
NDIS_STATUS_SUCCESS |
Die OID-Anforderung wurde erfolgreich abgeschlossen. |
NDIS_STATUS_NOT_SUPPORTED |
Der PF-Miniporttreiber unterstützt entweder nicht die SR-IOV-Schnittstelle (Single Root E/O Virtualization) oder ist für die Verwendung der Schnittstelle nicht aktiviert. |
NDIS_STATUS_INVALID_PARAMETER |
Mindestens ein Member der NDIS_SRIOV_BAR_RESOURCES_INFO-Struktur weisen ungültige Werte auf. |
NDIS_STATUS_INVALID_LENGTH |
Der Informationspuffer ist kleiner als (sizeof(NDIS_SRIOV_BAR_RESOURCES_INFO) + sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR). Der PF-Miniporttreiber muss die DATA festlegen. METHOD_INFORMATION. BytesNeed-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) |