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

Se requiere la función ProtocolCoDeleteVc . Esta función desglosa el estado del cliente o del administrador de llamadas para una conexión virtual establecida que está cerrada por el creador original de esa credencial verificable.

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

Sintaxis

PROTOCOL_CO_DELETE_VC ProtocolCoDeleteVc;

NDIS_STATUS ProtocolCoDeleteVc(
  [in] NDIS_HANDLE ProtocolVcContext
)
{...}

Parámetros

[in] ProtocolVcContext

Especifica el identificador del área de contexto por VC del cliente o del administrador de llamadas. El protocolo proporcionó originalmente este identificador de su función ProtocolCoCreateVc .

Valor devuelto

ProtocolCoDeleteVc puede devolver una de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
El protocolo ha publicado o preparado para reutilizar todos los recursos que asignó originalmente para la credencial verificable.
NDIS_STATUS_NOT_ACCEPTED
La credencial verificable sigue activa y el protocolo tiene operaciones pendientes en la credencial verificable para que no se pueda destruir.
NDIS_STATUS_XXX
El protocolo produjo un error en la eliminación de vc por un motivo determinado por el controlador.

Comentarios

ProtocolCoDeleteVc es el mutuo de la función ProtocolCoCreateVc del controlador. En general, libera los recursos y estructuras dinámicos asignados previamente al administrador de llamadas o al cliente para realizar operaciones en la credencial verificable activa.

Cuando ProtocolCoDeleteVc devuelve el control con NDIS_STATUS_SUCCESS, el NdisVcHandle que su función ProtocolCoCreateVc almacenada en el área en ProtocolVcContext deja de ser válida.

ProtocolCoDeleteVc puede devolver cualquier NDIS_STATUS_XXX determinado por el controlador para producir un error en la eliminación de la credencial verificable, pero no puede devolver NDIS_STATUS_PENDING. Las llamadas a ProtocolCoDeleteVc son intrínsecamente sincrónicas por naturaleza.

Ejemplos

Para definir una función ProtocolCoDeleteVc , 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 ProtocolCoDeleteVc denominada "MyCoDeleteVc", use el tipo de PROTOCOL_CO_DELETE_VC como se muestra en este ejemplo de código:

PROTOCOL_CO_DELETE_VC MyCoDeleteVc;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCoDeleteVc(
    NDIS_HANDLE  ProtocolVcContext
    )
  {...}

El tipo de función PROTOCOL_CO_DELETE_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 PROTOCOL_CO_DELETE_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 (consulte ProtocolCoDeleteVc (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte ProtocolCoDeleteVc (NDIS 5.1)) en Windows XP.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL

Consulte también

NdisClCloseCall

NdisCmDispatchIncomingCloseCall

NdisCoCreateVc

NdisCoDeleteVc

ProtocolCoCreateVc