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é
NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS
NdisMSetVirtualFunctionBusData