OID_SRIOV_PROBED_BARS
Usługa NDIS wystawia żądanie zapytania o identyfikator obiektu (OID) OID_SRIOV_PROBED_BARS w celu uzyskania wartości rejestrów adresów podstawowych (BAR) karty sieciowej. Ta funkcja zwraca wartości BAR, które zostały zgłoszone przez kartę sieciową po zapytaniu wykonanym przez sterownik magistrali PCI. To zapytanie określa przestrzeń adresową pamięci lub we/wy wymaganą przez kartę sieciową.
Usługa NDIS wysyła żądania zapytań OID OID_SRIOV_PROBED_BARS do sterownika miniportu dla funkcji fizycznej PCIe karty sieciowej (PF). To żądanie zapytania OID jest wymagane dla sterowników miniportu PF, które obsługują interfejs wirtualizacji we/wy pojedynczego głównego (SR-IOV).
Element członkowski InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do buforu. Ten bufor jest sformatowany tak, aby zawierał następujące elementy:
Struktura NDIS_SRIOV_PROBED_BARS_INFO zawierająca parametry operacji odczytu na kartach PCI BAR karty sieciowej.
Tablica wartości ULONG dla każdego paska karty sieciowej PCIe. Maksymalna liczba elementów w tej tablicy jest PCI_TYPE0_ADDRESSES.
Uwagi
Sterownik magistrali PCI, który działa w systemie operacyjnym zarządzania partycji nadrzędnej Hyper-V, wykonuje zapytanie o wymagania dotyczące przestrzeni adresowej pamięci lub we/wy każdego rejestru adresów podstawowych PCI (BAR) karty sieciowej. Sterownik magistrali PCI wykonuje to zapytanie, gdy po raz pierwszy wykryje adapter w magistrali.
Za pomocą tego zapytania PCI BAR sterownik magistrali PCI określa następujące elementy:
Czy karta sieciowa obsługuje standard PCI BAR.
Jeśli pasek jest obsługiwany, ilość pamięci lub przestrzeni adresowej we/wy jest wymagana dla paska.
Wirtualny sterownik magistrali PCI (VPCI) działa w systemie operacyjnym gościa partycji podrzędnej Hyper-V. Gdy funkcja wirtualna PCI Express (PCIe) (VF) jest podłączona do partycji podrzędnej, sterownik magistrali VPCI uwidacznia wirtualną kartę sieciową VF (VF). Zanim to zrobisz, sterownik magistrali VPCI musi wykonać zapytanie PCI BAR, aby określić wymaganą pamięć lub przestrzeń adresową wymaganą przez kartę sieciową VF.
Ponieważ dostęp do przestrzeni konfiguracji PCI jest operacją uprzywilejowaną, może być wykonywany tylko przez składniki uruchamiane w systemie operacyjnym zarządzania partycji nadrzędnej Hyper-V. Gdy sterownik magistrali VPCI wysyła zapytanie o reguły PCI BARs, usługa NDIS wysyła żądanie zapytania OID OID_SRIOV_PROBED_BARS do sterownika miniportu PF. Wyniki zwrócone przez to żądanie zapytania OID są przekazywane do sterownika magistrali VPCI, aby określić, ile przestrzeni adresowej pamięci będzie potrzebne przez kartę sieciową VF.
Uwaga żądania OID OID_SRIOV_PROBED_BARS mogą być wystawiane tylko przez NDIS. Żądanie identyfikatora OID nie może być wystawiane przez nadmierne sterowniki, takie jak protokół sterowników filtrów.
Żądanie zapytania OID_SRIOV_PROBED_BARS zawiera strukturę NDIS_SRIOV_PROBED_BARS_INFO. Gdy sterownik miniportu PF obsługuje ten identyfikator OID, sterownik musi zwrócić wartości PCI BAR w tablicy, do których odwołuje się BaseRegisterValuesOffset składowej struktury NDIS_SRIOV_PROBED_BARS_INFO. Dla każdego przesunięcia w tablicy sterownik miniport PF musi ustawić element tablicy na wartość ULONG BAR w tym samym przesunięcie w przestrzeni konfiguracji PCI karty fizycznej.
Każda wartość BAR zwrócona przez sterownik musi być tą samą wartością, która będzie zgodna z zapytaniem PCI BAR wykonywanym przez sterownik PCI uruchomiony w systemie operacyjnym zarządzania. Sterownik miniportu PF może wywoływać NdisMQueryProbedBars w celu ustalenia tych informacji.
Aby uzyskać więcej informacji na temat bars urządzenia PCI, zobacz specyfikacji magistrali lokalnej PCI.
Aby uzyskać więcej informacji na temat wykonywania zapytań dotyczących rejestrów PCI BAR dla VF, zobacz Wykonywanie zapytań dotyczących rejestrów adresów podstawowych PCI funkcji wirtualnej.
Kody stanu powrotu
Sterownik miniportu PF zwraca jeden z następujących kodów stanu dla żądania zapytania OID_SRIOV_PROBED_BARS:
Kod stanu | Opis |
---|---|
NDIS_STATUS_SUCCESS |
Żądanie OID zostało ukończone pomyślnie. |
NDIS_STATUS_NOT_SUPPORTED |
Sterownik miniportu PF nie obsługuje interfejsu wirtualizacji we/wy pojedynczego katalogu głównego (SR-IOV) lub nie jest włączony do korzystania z interfejsu. |
NDIS_STATUS_INVALID_PARAMETER |
Co najmniej jeden z elementów członkowskich struktury NDIS_SRIOV_PROBED_BARS_INFO ma nieprawidłowe wartości. |
NDIS_STATUS_INVALID_LENGTH |
Bufor informacji jest mniejszy niż (sizeof(NDIS_SRIOV_PROBED_BARS_INFO) + PCI_TYPE0_ADDRESSES). Sterownik miniportu PF musi ustawić DANE. QUERY_INFORMATION. BajtyNowe składowe w strukturze NDIS_OID_REQUEST do minimalnego wymaganego rozmiaru buforu. |
NDIS_STATUS_FAILURE |
Żądanie nie powiodło się z innych powodów. |
Wymagania
Wersja |
Obsługiwane w usłudze NDIS 6.30 i nowszych wersjach. |
Nagłówek |
Ntddndis.h (m.in. Ndis.h) |