Sdílet prostřednictvím


OID_SRIOV_WRITE_VF_CONFIG_SPACE

Přílišný ovladač vydá požadavek na nastavení identifikátoru objektu (OID) požadavku OID_SRIOV_WRITE_VF_CONFIG_SPACE k zápisu dat do konfiguračního prostoru PCI Express (PCIe) pro zadanou virtuální funkci PCIe (VF) na síťovém adaptéru.

Overlying drivers issue this OID set request to the miniport driver for the network adapter's PCIe Physical Function (PF). Tento požadavek na metodu OID je vyžadován pro ovladače miniportu PF, které podporují rozhraní jedno kořenové virtualizace vstupně-výstupních operací (SR-IOV).

InformationBuffer člen struktury NDIS_OID_REQUEST obsahuje ukazatel na vyrovnávací paměť přidělenou volajícím. Tato vyrovnávací paměť je formátovaná tak, aby obsahovala následující:

  • Struktura NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, která obsahuje parametry pro operaci zápisu konfiguračního prostoru PCI VF.

  • Další prostor vyrovnávací paměti, který obsahuje data, která se mají zapsat do konfiguračního prostoru PCI.

Poznámky

Ovladač miniportu VF běží v hostovaném operačním systému podřízeného oddílu Hyper-V. Z tohoto důvodu ovladač miniportu VF nemůže přímo přistupovat k hardwarovým prostředkům, jako je konfigurační prostor PCI VF. K prostoru konfigurace PCI pro VF má přístup pouze ovladač miniportu PF, který běží v operačním systému správy Hyper-V nadřazeného oddílu.

Přílišný ovladač, například zásobník virtualizace, vydává požadavek sady identifikátorů OID_SRIOV_WRITE_VF_CONFIG_SPACE, když ovladač miniportu VF volá NdisMSetBusData zapisovat do konfiguračního prostoru PCI.

Při zpracování žádosti o metodu OID OID_SRIOV_WRITE_VF_CONFIG_SPACE musí ovladač miniportu PF postupovat podle těchto pokynů:

  • Ovladač miniportu PF musí ověřit, že VF určený VFId člen struktury NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS má prostředky, které byly dříve přiděleny. Ovladač miniportu PF přiděluje prostředky pro VF prostřednictvím požadavku metody OID OID_NIC_SWITCH_ALLOCATE_VF.

    Pokud nebyly přiděleny prostředky pro zadaný VF, ovladač musí požadavek OID selhat.

  • Ovladač miniportu PF volá NdisMSetVirtualFunctionBusData zapisovat do požadovaného konfiguračního prostoru PCI. Ovladač miniportu PF ale může také vrátit data konfiguračního prostoru PCI pro VF, který ovladač ukládá do mezipaměti z předchozích operací čtení nebo zápisu konfiguračního prostoru PCI.

    Poznámka Pokud nezávislý dodavatel hardwaru (IHV) poskytuje ovladač virtuální sběrnice (VBD) jako součást balíčku ovladačů SR-IOV , jeho ovladač MINIport PF nesmí volat NdisMSetVirtualFunctionBusData. Místo toho musí ovladač komunikovat s VBD prostřednictvím privátního komunikačního kanálu a požadovat, aby volání VBD SetVirtualFunctionData. Tato funkce je vystavena z rozhraní GUID_VPCI_INTERFACE_STANDARD, které je podporováno základním virtuálním ovladačem sběrnice PCI (VPCI).

Pokud ovladač miniportu PF může úspěšně dokončit požadavek OID, ovladač musí zkopírovat požadovaná data prostoru konfigurace PCI do vyrovnávací paměti odkazované InformationBuffer člen struktury NDIS_OID_REQUEST. Ovladač zkopíruje data do vyrovnávací paměti na posunu určeném BufferOffset člen struktury NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS.

Další informace naleznete v tématu Nastavení konfiguračních dat PCI virtuální funkce.

Návratové stavové kódy

Ovladač miniportu PF vrátí jeden z následujících stavových kódů pro požadavek sady OID OID_SRIOV_WRITE_VF_CONFIG_SPACE.

Stavový kód Popis

NDIS_STATUS_SUCCESS

Požadavek OID byl úspěšně dokončen.

NDIS_STATUS_NOT_SUPPORTED

Ovladač miniportu PF buď nepodporuje rozhraní jedno kořenové virtualizace vstupně-výstupních operací (SR-IOV), nebo není povoleno používat rozhraní.

NDIS_STATUS_INVALID_PARAMETER

Nejméně jeden člen struktury NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS má neplatné hodnoty.

NDIS_STATUS_INVALID_LENGTH

Informační vyrovnávací paměť byla příliš krátká. Rozhraní NDIS nastaví DATA. SET_INFORMATION. BytesNeeded člen ve struktuře NDIS_OID_REQUEST na minimální požadovanou velikost vyrovnávací paměti.

NDIS_STATUS_FAILURE

Žádost se nezdařila z jiných důvodů.

Požadavky

Verze

Podporováno v NDIS 6.30 a novějších verzích.

Záhlaví

Ntddndis.h (včetně Ndis.h)

Viz také


GUID_VPCI_INTERFACE_STANDARD

NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS

NdisMSetBusData

NdisMSetVirtualFunctionBusData

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE

SetVirtualFunctionData