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) |