Sdílet prostřednictvím


OID_SRIOV_PROBED_BARS

NDIS vydává požadavek na dotaz identifikátoru objektu (OID) OID_SRIOV_PROBED_BARS k získání hodnot základních registrů adres PCI Express (PCIe) síťového adaptéru. Tato funkce vrátí hodnoty BAR hlášené síťovým adaptérem za dotazem provedeným ovladačem sběrnice PCI. Tento dotaz určuje adresní prostor paměti nebo vstupně-výstupních operací vyžadovaný síťovým adaptérem.

NDIS vydává požadavky na dotazy OID OID_SRIOV_PROBED_BARS na ovladač miniportu pro fyzickou funkci PCIe (PF) síťového adaptéru. Tento požadavek na dotaz OID se vyžaduje 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ěť. Tato vyrovnávací paměť je formátovaná tak, aby obsahovala následující:

  • Struktura NDIS_SRIOV_PROBED_BARS_INFO, která obsahuje parametry pro operaci čtení na PCI BARs síťového adaptéru.

  • Pole hodnot ULONG pro každý panel síťového adaptéru PCIe. Maximální počet prvků v rámci tohoto pole je PCI_TYPE0_ADDRESSES.

Poznámky

Ovladač sběrnice PCI, který běží v operačním systému správy Hyper-V nadřazeného oddílu, dotazuje požadavky na paměť nebo vstupně-výstupní adresní prostor každého základního registru PCI základního adresáře (BAR) síťového adaptéru. Ovladač sběrnice PCI tento dotaz provede při prvním zjištění adaptéru ve sběrnici.

Prostřednictvím tohoto dotazu PCI BAR ovladač sběrnice PCI určuje následující:

  • Určuje, jestli síťový adaptér podporuje PCI BAR.

  • Pokud je panel podporovaný, kolik paměti nebo vstupně-výstupního adresního prostoru je pro panel potřeba.

Ovladač sběrnice VIRTUÁLNÍ PCI (VPCI) běží v hostovaném operačním systému Hyper-V podřízeného oddílu. Když je virtuální funkce PCI Express (PCIe) připojená k podřízeném oddílu, ovladač sběrnice VPCI zveřejní virtuální síťový adaptér pro VF (síťový adaptér VF). Než to udělá, musí ovladač sběrnice VPCI provést dotaz PCI BAR k určení požadované paměti nebo adresního prostoru vyžadovaného síťovým adaptérem VF.

Vzhledem k tomu, že přístup k prostoru konfigurace PCI je privilegovaná operace, může ji provádět pouze komponenty, které běží v operačním systému správy Hyper-V nadřazeného oddílu. Když ovladač sběrnice VPCI dotazuje PCI BARs, NDIS vydá požadavek dotazu OID OID_SRIOV_PROBED_BARS ovladači PF miniport. Výsledky vrácené touto žádostí o dotaz OID se předávají ovladači sběrnice VPCI, aby bylo možné určit, kolik adresního prostoru paměti bude síťový adaptér VF potřebovat.

NDIS může vydat pouze požadavky na identifikátory OID OID_SRIOV_PROBED_BARS. Požadavek OID nesmí být vystavený nadměrnými ovladači, například protokolem ovladačů filtru.

Požadavek dotazu OID_SRIOV_PROBED_BARS obsahuje strukturu NDIS_SRIOV_PROBED_BARS_INFO. Pokud ovladač miniportu PF zpracovává tento identifikátor OID, musí ovladač vrátit hodnoty PCI BAR v rámci pole odkazovaného BaseRegisterValuesOffset člen struktury NDIS_SRIOV_PROBED_BARS_INFO. U každého posunu v rámci pole musí ovladač miniportu PF nastavit prvek pole na hodnotu ULONG pruhu ve stejném posunu v konfiguračním prostoru PCI fyzického adaptéru.

Každá hodnota BAR vrácená ovladačem musí být stejná hodnota, která by sledovala dotaz PCI BAR, který provádí ovladač PCI, který běží v operačním systému pro správu. Ovladač miniportu PF může volat NdisMQueryProbedBars určit tyto informace.

Další informace o bars zařízení PCI naleznete v PCI Local Bus Specification.

Další informace o dotazování PCI BAR registrů pro VF najdete v tématu Dotazování základních registrů adres 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 dotazu OID_SRIOV_PROBED_BARS:

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_PROBED_BARS_INFO má neplatné hodnoty.

NDIS_STATUS_INVALID_LENGTH

Vyrovnávací paměť informací je menší než (sizeof(NDIS_SRIOV_PROBED_BARS_INFO) + PCI_TYPE0_ADDRESSES). Ovladač miniportu PF musí nastavit DATA. QUERY_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_PROBED_BARS_INFO

NdisMQueryProbedBars