Sdílet prostřednictvím


OID_SRIOV_READ_VF_CONFIG_BLOCK

Přílišný ovladač vydá žádost o metodu identifikátoru objektu (OID) OID_SRIOV_READ_VF_CONFIG_BLOCK ke čtení dat ze zadaného bloku konfigurace virtuální funkce PCI Express (PCIe).

Overlying drivers issue this OID method 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_READ_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 načtená z bloku konfigurace VF.

  • Další místo vyrovnávací paměti pro čtení dat ze zadaného konfiguračního bloku 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 žádosti o metodu OID OID_SRIOV_READ_VF_CONFIG_BLOCK musí nadlimitní ovladač nastavit členy NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS struktury následujícím způsobem:

  • Nastavte VFId člen na identifikátor VF, ze kterého se mají informace číst.

  • Nastavte BlockId člen na identifikátor bloku konfigurace VF, ze kterého se mají informace číst.

  • Nastavte Délka člen na počet bajtů, které se mají číst z konfiguračního bloku.

  • Nastavte BufferOffset člen na posun v rámci vyrovnávací paměti (odkazovaný InformationBuffer člen), který bude obsahovat data načtená ze zadaného bloku konfigurace VF. Tento posun je určen v jednotkách bajtů od začátku struktury NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS.

Při zpracování žádosti o metodu OID OID_SRIOV_READ_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_READ_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, zda BlockId člen struktury NDIS_SRIOV_READ_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 PF vrátí jeden z následujících stavových kódů pro požadavek metody OID_SRIOV_READ_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_READ_VF_CONFIG_BLOCK_PARAMETERS má neplatné hodnoty.

NDIS_STATUS_INVALID_LENGTH

Informační vyrovnávací paměť byla příliš krátká. Ovladač miniportu musí nastavit DATA. METHOD_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_READ_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE