Compartir a través de


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

La función MiniportCoDeactivateVc es necesaria para miniportes orientados a la conexión. NDIS llama a MiniportCoDeactivateVc para indicar que se está marcando un VC como inutilizable.

Nota Debe declarar la función mediante el tipo MINIPORT_CO_DEACTIVATE_VC. Para obtener más información, consulte la sección Ejemplos siguientes.
 

Sintaxis

MINIPORT_CO_DEACTIVATE_VC MiniportCoDeactivateVc;

NDIS_STATUS MiniportCoDeactivateVc(
  [in] NDIS_HANDLE MiniportVcContext
)
{...}

Parámetros

[in] MiniportVcContext

Se especificó el identificador en un área de contexto asignada por el controlador de miniporte en la que el controlador de miniporte mantiene la información de estado por VC. El controlador de minipuerto proporcionó este identificador a NDIS desde su función MiniportCoCreateVc.

Valor devuelto

Código devuelto Descripción
NDIS_STATUS_SUCCESS
Indica que el controlador de miniporte detuvo correctamente cualquier comunicación entre la vc y la marcó como inutilizable.
NDIS_STATUS_PENDING
Indica que el controlador de miniporte completará la solicitud para detener el VC de forma asincrónica. Cuando el controlador de miniporte se haya completado para detener el VC, debe llamar a . NdisMCoDeactivateVcComplete para indicar a NDIS que esta operación se ha completado.

Observaciones

MiniportCoDeactivateVc se comunica con su adaptador de red para finalizar toda la comunicación entre este VC (es decir, desprogramar los búferes de recepción o envío en el adaptador). El controlador de minipuerto también debe marcar el VC, su área de contexto, ya que está inactiva para evitar cualquier comunicación adicional a través de la vc.

No hay una relación uno a uno entre las llamadas a MiniportCoActivateVc y MiniportCoDeactivateVc. Aunque NDIS puede llamar a MiniportCoActivateVc varias veces en un solo VC, solo se realiza una llamada a MiniportCoDeactivateVc para apagar una conexión virtual. Por ejemplo, se puede reutilizar un VC para diferentes llamadas que posiblemente provocan varias llamadas a MiniportCoActivateVc.

Ejemplos de

Para definir una función MiniportCoDeactivateVc, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un MiniportCoDeactivateVc función denominada "MyCoDeactivateVc", use el tipo MINIPORT_CO_DEACTIVATE_VC tal como se muestra en este ejemplo de código:

MINIPORT_CO_DEACTIVATE_VC MyCoDeactivateVc;

A continuación, implemente la función de la siguiente manera:

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeactivateVc(
    NDIS_HANDLE  MiniportVcContext
    )
  {...}

El tipo de función MINIPORT_CO_DEACTIVATE_VC se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función MINIPORT_CO_DEACTIVATE_VC en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.

Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
cliente mínimo admitido Compatible con controladores NDIS 6.0 y NDIS 5.1 (consulte MiniportCoDeactivateVc (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulta MiniportCoDeactivateVc (NDIS 5.1)) en Windows XP.
de la plataforma de destino de Windows
encabezado de ndis.h (incluya Ndis.h)
irQL <= DISPATCH_LEVEL

Consulte también

MiniportCoActivateVc

NdisMCoDeactivateVcComplete