NDIS_SWITCH_REFERENCE_SWITCH_PORT función de devolución de llamada (ndis.h)

La función ReferenceSwitchPort incrementa el contador de referencia de conmutador extensible de Hyper-V para un puerto de conmutador extensible.

Sintaxis

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

NDIS_STATUS NdisSwitchReferenceSwitchPort(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId
)
{...}

Parámetros

[in] NdisSwitchContext

Valor de NDIS_SWITCH_CONTEXT que contiene el identificador del módulo de conmutador extensible al que está asociada la extensión de conmutador extensible de Hyper-V. Cuando la extensión llama a NdisFGetOptionalSwitchHandlers, este identificador se devuelve a través del parámetro NdisSwitchContext .

[in] SwitchPortId

Valor de NDIS_SWITCH_PORT_ID que contiene el identificador único del puerto de conmutador extensible para el que se incrementa el contador de referencia del conmutador extensible.

Nota El parámetro SwitchPortId debe especificar el identificador de un puerto que se encuentra en un estado creado. No se pueden especificar identificadores para los puertos que están en estado de desmontaje o eliminado. Para obtener más información sobre los estados de puerto, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.
 

Valor devuelto

Si la llamada se realiza correctamente, la función devuelve NDIS_STATUS_SUCCESS. De lo contrario, devuelve un código de error NDIS_STATUS_Xxx definido en Ndis.h.

Comentarios

La extensión de conmutador extensible llama a ReferenceSwitchPort para incrementar el contador de referencia de un puerto de conmutador extensible. Aunque el contador de referencia tiene un valor distinto de cero, el borde del protocolo del conmutador extensible no emitirá una solicitud de conjunto de identificador de objeto (OID) de OID_SWITCH_PORT_DELETE para eliminar el puerto de conmutador extensible.

Una vez que la extensión llama a ReferenceSwitchPort, debe llamar a DereferenceSwitchPort para disminuir el contador de referencia.

La extensión llama a ReferenceSwitchPort después de que el puerto haya alcanzado el estado puerto creado . La extensión no debe llamar a ReferenceSwitchPort después de que la conexión haya alcanzado los estados Desmontaje del puerto o Puerto no creado . Para obtener más información sobre estos estados, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.

La extensión debe llamar a ReferenceSwitchPort cuando realiza cualquier operación que requiera que el puerto esté en un estado activo. Por ejemplo, la extensión debe llamar a ReferenceSwitchPort antes de que emite una solicitud de método OID de OID_SWITCH_PORT_PROPERTY_ENUM.

La extensión llama a ReferenceSwitchPort después de que el puerto haya alcanzado el estado puerto creado . La extensión no debe llamar a ReferenceSwitchNic después de que el puerto haya alcanzado el estado Desmontaje del puerto. Para obtener más información sobre estos estados, consulte Puerto de conmutador extensible de Hyper-V y Estados del adaptador de red.

Nota Cuando la extensión llama a ReferenceSwitchPort, no tiene que sincronizar la llamada con su código que controla las solicitudes de OID. Como resultado, es posible que la extensión llame a ReferenceSwitchPort mientras que el borde del protocolo del conmutador extensible emite una solicitud OID de OID_SWITCH_PORT_TEARDOWN. Sin embargo, si la llamada a ReferenceSwitchPort se completa con NDIS_STATUS_SUCCESS, la extensión todavía puede emitir la solicitud OID de OID_SWITCH_PORT_PROPERTY_ENUM después de controlar la solicitud de OID de OID_SWITCH_PORT_TEARDOWN.
 

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.30 y versiones posteriores.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL

Consulte también

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN