OID_SRIOV_WRITE_VF_CONFIG_BLOCK
Přílišný ovladač vydává požadavek na nastavení identifikátoru objektu (OID) požadavku OID_SRIOV_WRITE_VF_CONFIG_BLOCK k zápisu dat do bloku konfigurace virtuální funkce PCI Express (PCIe).
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_BLOCK_PARAMETERS, která obsahuje posun v jednotkách bajtů od začátku této struktury do umístění v rámci vyrovnávací paměti obsahující data zapsaná do bloku konfigurace VF.
Další místo vyrovnávací paměti pro zápis dat do zadaného bloku konfigurace VF.
Poznámky
Blok konfigurace VF se používá pro komunikaci backchannel mezi ovladači PF a miniportu VF. IHV může definovat jeden nebo více konfiguračních bloků VF pro ovladače miniportu. Každý blok konfigurace VF má formát definovaný IHV, délku a ID bloku.
Poznámka: Data z každého bloku konfigurace VF se používají pouze ovladači PF a miniportu VF.
Před vydáním požadavku sady identifikátorů OID_SRIOV_WRITE_VF_CONFIG_BLOCK musí nadlimitní ovladač nastavit členy NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS struktury následujícím způsobem:
Nastavte VFId člen na identifikátor VF, pro který mají být informace zapsány.
Nastavte BlockId člen na identifikátor bloku konfigurace, ze kterého se mají informace zapisovat.
Nastavte délka člen na počet bajtů, které se mají zapisovat do bloku konfigurace VF.
Nastavte BufferOffset člen na posun v rámci vyrovnávací paměti (odkazovaný InformationBuffer člen), který obsahuje data, která mají být zapsána ze zadaného bloku konfigurace VF. Tento posun je určen v jednotkách bajtů od začátku struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS.
Když zpracovává požadavek sady identifikátorů identifikátorů OID_SRIOV_WRITE_VF_CONFIG_BLOCK, 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_BLOCK_PARAMETERS má prostředky, které byly dříve přiděleny. Ovladač miniportu PF přiděluje prostředky pro VF během 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 musí ověřit, že BlockId člen struktury NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS určuje platný blok konfigurace VF. Pokud ne, ovladač musí požadavek OID selhat.
Další informace o komunikaci backchannel v rámci rozhraní jedno kořenové virtualizace vstupně-výstupních operací (SR-IOV) naleznete v tématu SR-IOV PF/VF Backchannel Communication.
Návratové stavové kódy
Ovladač miniportu vrátí jeden z následujících stavových kódů pro požadavek sady identifikátorů OID_SRIOV_WRITE_VF_CONFIG_BLOCK:
Stavový kód | Popis |
---|---|
NDIS_STATUS_SUCCESS |
Požadavek OID byl úspěšně dokončen. |
NDIS_STATUS_NOT_SUPPORTED |
Ovladač miniportu 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_BLOCK_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) |