Sdílet prostřednictvím


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)

Viz také


NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE