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 una credencial verificable se marca 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 minipuerto en la que el controlador de minipuerto mantiene la información de estado por VC. El controlador de minipuerto proporcionó este controlador a NDIS desde su función MiniportCoCreateVc .

Valor devuelto

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

Comentarios

MiniportCoDeactivateVc se comunica con su adaptador de red para finalizar toda la comunicación a través de este VC (es decir, desprogramando 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 credencial verificable.

No hay una relación uno a uno entre las llamadas a MiniportCoActivateVc y MiniportCoDeactivateVc. Aunque NDIS puede llamar a MiniportCoActivateVc varias veces en una sola vc, solo se realiza una llamada a MiniportCoDeactivateVc para apagar una conexión virtual. Por ejemplo, se puede reutilizar una credencial verificable para diferentes llamadas, lo que puede provocar varias llamadas a MiniportCoActivateVc.

Ejemplos

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 Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir una función MiniportCoDeactivateVc denominada "MyCoDeactivateVc", use el tipo MINIPORT_CO_DEACTIVATE_VC 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, consulte 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, consulte Anotación del comportamiento de la función.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con los controladores NDIS 6.0 y NDIS 5.1 (consulta MiniportCoDeactivateVc (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulta MiniportCoDeactivateVc (NDIS 5.1)) en Windows XP.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL

Consulte también

MiniportCoActivateVc

NdisMCoDeactivateVcComplete