Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nadmierny sterownik wystawia żądanie metody identyfikatora obiektu (OID) OID_SRIOV_READ_VF_CONFIG_SPACE do odczytu danych z przestrzeni konfiguracji PCI Express (PCIe) dla określonej funkcji wirtualnej PCIe (VF) na karcie sieciowej.
Po pomyślnym powrocie z tego żądania metody OID InformationBuffer składowej struktury NDIS_OID_REQUEST zawiera wskaźnik do buforu przydzielonego przez obiekt wywołujący. Ten bufor jest sformatowany tak, aby zawierał następujące elementy:
Struktura NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS zawierająca parametry operacji odczytu przestrzeni konfiguracji PCI VF.
Dodatkowe miejsce buforu dla danych do odczytu z przestrzeni konfiguracji PCI.
Uwagi
Sterownik miniportu VF działa w systemie operacyjnym gościa partycji podrzędnej Hyper-V. Z tego powodu sterownik miniportu VF nie może bezpośrednio uzyskać dostępu do zasobów sprzętowych, takich jak przestrzeń konfiguracji PCI VF. Tylko sterownik miniportu dla funkcji fizycznej PCIe (PF) może uzyskać dostęp do przestrzeni konfiguracji PCI dla VF. Sterownik miniportu PF działa w systemie operacyjnym zarządzania partycji nadrzędnej Hyper-V i ma uprzywilejowany dostęp do zasobów VF.
Aby odczytać przestrzeń konfiguracji PCI VF, nadmierne sterowniki uruchamiane w systemie operacyjnym zarządzania wystawiają żądanie metody OID OID_SRIOV_READ_VF_CONFIG_SPACE do sterownika miniport PF. To żądanie metody identyfikatora OID jest wymagane dla sterowników miniportu PF, które obsługują interfejs wirtualizacji we/wy pojedynczego głównego (SR-IOV).
Na przykład stos wirtualizacji uruchamiany w systemie operacyjnym zarządzania wystawia żądanie metody OID OID_SRIOV_READ_VF_CONFIG_SPACE, gdy sterownik miniportu VF wywołuje NdisMGetBusData do odczytu z przestrzeni konfiguracji PCI VF.
Gdy obsługuje żądanie metody OID OID_SRIOV_READ_VF_CONFIG_SPACE, sterownik miniportu PF musi postępować zgodnie z następującymi wytycznymi:
Sterownik miniportu musi sprawdzić, czy VF, określony przez VFId elementu członkowskiego struktury NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, ma zasoby, które zostały wcześniej przydzielone. Sterownik miniportu przydziela zasoby dla VF za pośrednictwem żądania metody OID OID_NIC_SWITCH_ALLOCATE_VF. Jeśli zasoby dla określonego VF nie zostały przydzielone, sterownik musi zakończyć się niepowodzeniem żądania identyfikatora OID.
Sterownik miniportu musi sprawdzić, czy bufor (przywoływane przez InformationBuffer składowej struktury NDIS_OID_REQUEST) jest wystarczająco duży, aby zwrócić żądane dane obszaru konfiguracji PCIe. Jeśli tak nie jest, sterownik musi zakończyć się niepowodzeniem żądania identyfikatora OID.
Sterownik miniportu zwykle wywołuje NdisMGetVirtualFunctionBusData, aby wysłać zapytanie do żądanego obszaru konfiguracji PCIe. Jednak sterownik miniportu może również zwrócić dane miejsca konfiguracji PCIe dla programu VF, które sterownik buforował z poprzednich operacji odczytu lub zapisu przestrzeni konfiguracji PCIe.
Uwaga Jeśli niezależny dostawca sprzętu (IHV) udostępnia sterownik magistrali wirtualnej (VBD) w ramach pakietu sterowników SR-IOV , jego sterownik miniportu nie może wywołać NdisMGetVirtualFunctionBusData. Zamiast tego sterownik musi interfejs z vbD za pośrednictwem prywatnego kanału komunikacyjnego i zażądać, aby wywołanie VBD ReadVfConfigBlock. Ta funkcja jest uwidoczniona z interfejsu GUID_VPCI_INTERFACE_STANDARD obsługiwanego przez podstawowy sterownik magistrali PCI (VPCI).
Jeśli sterownik miniportu PF może pomyślnie ukończyć żądanie OID, sterownik musi skopiować żądane dane przestrzeni konfiguracji PCI do buforu, do którego odwołuje się InformationBuffer składowej struktury NDIS_OID_REQUEST. Sterownik kopiuje dane do buforu z przesunięciem określonym przez BufferOffset składową struktury NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS.
Aby uzyskać więcej informacji, zobacz Wykonywanie zapytań dotyczących danych konfiguracji PCI funkcji wirtualnej.
Kody stanu powrotu
Sterownik miniportu PF zwraca jeden z następujących kodów stanu dla żądania metody OID OID_SRIOV_READ_VF_CONFIG_SPACE.
Kod stanu | Opis |
---|---|
NDIS_STATUS_SUCCESS |
Żądanie OID zostało ukończone pomyślnie. |
NDIS_STATUS_NOT_SUPPORTED |
Sterownik miniportu 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_READ_VF_CONFIG_SPACE_PARAMETERS ma nieprawidłowe wartości. |
NDIS_STATUS_INVALID_LENGTH |
Bufor informacyjny był zbyt krótki. Sterownik miniportu musi ustawić DANE. METHOD_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) |
Zobacz też
NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS