Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Krawędź protokołu Hyper-V rozszerzalnego przełącznika wystawia żądanie zestawu identyfikatora obiektu (OID) OID_SWITCH_PORT_CREATE w celu powiadamiania rozszerzalnych rozszerzeń przełącznika o utworzeniu rozszerzalnego portu przełącznika.
Element InformationBuffer struktury NDIS_OID_REQUEST zawiera wskaźnik do struktury NDIS_SWITCH_PORT_PARAMETERS.
Uwagi
Element PortId struktury NDIS_SWITCH_PORT_PARAMETERS określa port, dla którego jest wykonywane powiadomienie o tworzeniu.
Rozszerzenie rozszerzalnego przełącznika musi przestrzegać następujących wytycznych dotyczących obsługi żądań zestawów OID OID_SWITCH_PORT_CREATE:
Rozszerzenie nie może modyfikować struktury NDIS_SWITCH_PORT_PARAMETERS skojarzonej z żądaniem OID.
Rozszerzenie może zawetować powiadomienie o tworzeniu, zwracając NDIS_STATUS_DATA_NOT_ACCEPTED dla żądania OID. Jeśli na przykład rozszerzenie nie może przydzielić zasobów w celu wymuszenia skonfigurowanych zasad na porcie, sterownik powinien zawetować powiadomienie o utworzeniu.
Jeśli rozszerzenie zwróci inne kody stanu błędu NDIS_STATUS_Xxx xxx, powiadomienie o utworzeniu również zostanie zawetowane. Jednak zwracanie kodów stanu dla scenariuszy przejściowych, takich jak zwracanie NDIS_STATUS_RESOURCES, może spowodować ponowienie próby powiadomienia o utworzeniu.
Jeśli rozszerzenie nie zawetuje żądania OID, powinno monitorować stan po zakończeniu żądania. Rozszerzenie powinno to zrobić, aby określić, czy żądanie OID zostało zawetowane przez podstawowe rozszerzenia w rozszerzalnej ścieżce sterowania przełącznika, czy przez rozszerzalny interfejs przełącznika.
Aby uzyskać więcej informacji na temat zasad portów, zobacz Zarządzanie zasadami przełącznika rozszerzalnego Hyper-V.
Jeśli rozszerzenie wywołuje NdisFOidRequest do przekazywania tego żądania zestawu identyfikatorów OID, rozszerzenie powinno monitorować stan ukończenia tego żądania OID. Rozszerzenie robi to, aby wykryć, czy podstawowe rozszerzenia w rozszerzalnym stosie sterowników przełącznika zawetowały powiadomienie o tworzeniu portu.
Po przesłaniu i pomyślnym przesłaniu żądania identyfikatora OID rozszerzenie może wysyłać żądania identyfikatorów OID dla portu, takie jak OID_SWITCH_PORT_PROPERTY_ENUM, do momentu wystawienia żądania identyfikatora OID OID_SWITCH_PORT_TEARDOWN. To żądanie identyfikatora OID powiadamia rozszerzenie, że port rozpocznie proces usuwania z rozszerzalnego przełącznika.
Rozszerzenia nie mogą przekazywać pakietów do określonego portu w strukturze NDIS_SWITCH_PORT_PARAMETERS, dopóki nie zostanie wydane żądanie zestawu identyfikatorów OID OID_SWITCH_NIC_CONNECT i zostanie ukończone pomyślnie.
Uwaga rozszerzenia nie mogą wystawiać żądań zestawów OID OID_SWITCH_PORT_CREATE.
Aby uzyskać więcej informacji na temat stanów rozszerzalnych portów przełącznika i połączeń kart sieciowych, zobacz Hyper-V Extensible Switch Port and Network Adapter States.
Kody stanu powrotu
Jeśli rozszerzenie ukończy żądanie zestawu identyfikatorów OID OID_SWITCH_PORT_CREATE, zwraca jeden z następujących kodów stanu.
| Kod stanu | Opis |
|---|---|
NDIS_STATUS_DATA_NOT_ACCEPTED |
Rozszerzenie zawetował powiadomienie o utworzeniu. |
NDIS_STATUS_RESOURCES |
Rozszerzenie zawetował powiadomienie o utworzeniu z powodu niskiego stanu zasobu. |
NDIS_STATUS_Xxx |
Rozszerzenie zawetował powiadomienie o tworzeniu z innych powodów. |
Uwaga Jeśli rozszerzenie ukończy żądanie zestawu identyfikatorów OID, nie może zwrócić NDIS_STATUS_SUCCESS.
Jeśli rozszerzenie nie ukończy żądania zestawu identyfikatora OID OID_SWITCH_PORT_CREATE, żądanie jest wykonywane przez podstawową krawędź miniportu przełącznika rozszerzalnego. Podstawowa krawędź miniportu zwraca następujący kod stanu dla tego żądania zestawu identyfikatorów OID.
| Kod stanu | Opis |
|---|---|
NDIS_STATUS_SUCCESS |
Żądanie OID zostało ukończone pomyślnie. |
Wymagania
Wersja |
Obsługiwane w usłudze NDIS 6.30 i nowszych wersjach. |
Nagłówek |
Ntddndis.h (m.in. Ndis.h) |