OID_SWITCH_PORT_CREATE
El borde del protocolo del conmutador extensible de Hyper-V emite una solicitud de conjunto de identificador de objeto (OID) de OID_SWITCH_PORT_CREATE para notificar a las extensiones de conmutador extensible sobre la creación de un puerto de conmutador extensible.
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_SWITCH_PORT_PARAMETERS .
Observaciones
El miembro PortId de la estructura NDIS_SWITCH_PORT_PARAMETERS especifica el puerto para el que se realiza la notificación de creación.
La extensión de conmutador extensible debe seguir estas directrices para controlar las solicitudes del conjunto de OID de OID_SWITCH_PORT_CREATE:
La extensión no debe modificar la estructura NDIS_SWITCH_PORT_PARAMETERS asociada a la solicitud OID.
La extensión puede vetar la notificación de creación devolviendo NDIS_STATUS_DATA_NOT_ACCEPTED para la solicitud de OID. Por ejemplo, si una extensión no puede asignar recursos para aplicar sus directivas configuradas en el puerto, el controlador debe vetar la notificación de creación.
Si la extensión devuelve otros códigos de estado de error NDIS_STATUS_Xxx , también se veta la notificación de creación. Sin embargo, devolver códigos de estado para escenarios transitorios, como devolver NDIS_STATUS_RESOURCES, podría dar lugar a un reintento de la notificación de creación.
Si la extensión no ve la solicitud de OID, debe supervisar el estado cuando se complete la solicitud. La extensión debe hacerlo para determinar si la solicitud OID fue vetado por extensiones subyacentes en la ruta de acceso de control de conmutador extensible o por la interfaz de conmutador extensible.
Para obtener más información sobre las directivas de puerto, consulte Administración de directivas de conmutador extensible de Hyper-V.
Si la extensión llama a NdisFOidRequest para reenviar esta solicitud de conjunto de OID, la extensión debe supervisar el estado de finalización de esta solicitud de OID. La extensión lo hace para detectar si las extensiones subyacentes de la pila de controladores de conmutador extensible han vetado la notificación de creación del puerto.
Una vez que la solicitud OID se reenvía y se completa correctamente, la extensión puede emitir solicitudes de OID para el puerto, como OID_SWITCH_PORT_PROPERTY_ENUM, hasta que se emita una solicitud de OID de OID_SWITCH_PORT_TEARDOWN . Esta solicitud de OID notifica a la extensión que el puerto iniciará el proceso de eliminación del conmutador extensible.
Las extensiones no pueden reenviar paquetes al puerto especificado en la estructura de NDIS_SWITCH_PORT_PARAMETERS hasta que se emita una solicitud de conjunto de OID de OID_SWITCH_NIC_CONNECT y se complete correctamente.
Nota Las extensiones no deben emitir solicitudes de conjunto de OID de OID_SWITCH_PORT_CREATE.
Para obtener más información sobre los estados de los puertos de conmutador extensibles y las conexiones de adaptador de red, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.
Códigos de estado de devolución
Si la extensión completa la solicitud de conjunto de OID de OID_SWITCH_PORT_CREATE, devuelve uno de los siguientes códigos de estado.
Código de estado | Descripción |
---|---|
NDIS_STATUS_DATA_NOT_ACCEPTED |
La extensión vetó la notificación de creación. |
NDIS_STATUS_RESOURCES |
La extensión vetó la notificación de creación debido a una condición de recurso baja. |
NDIS_STATUS_Xxx |
La extensión vetó la notificación de creación por otros motivos. |
Nota Si la extensión completa la solicitud de conjunto de OID, no debe devolver NDIS_STATUS_SUCCESS.
Si la extensión no completa la solicitud de conjunto de OID de OID_SWITCH_PORT_CREATE, la solicitud se completa mediante el borde miniporte subyacente del conmutador extensible. El borde de minipuerto subyacente devuelve el código de estado siguiente para esta solicitud de conjunto de OID.
Código de estado | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La solicitud OID se completó correctamente. |
Requisitos
Versión |
Compatible con NDIS 6.30 y versiones posteriores. |
Encabezado |
Ntddndis.h (include Ndis.h) |