Compartir a través de


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

Se requiere la función protocolCoDeleteVc. Esta función desgarro el estado del cliente o del administrador de llamadas para una conexión virtual establecida que está cerrada por el creador original de ese VC.

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 desde su función ProtocolCoCreateVc.

Valor devuelto

ProtocolCoDeleteVc puede devolver una de las siguientes opciones:

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

Observaciones

ProtocolCoDeleteVc es la recíproca 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 el VC activo.

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

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

Ejemplos de

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 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 ProtocolCoDeleteVc función denominada "MyCoDeleteVc", use el tipo PROTOCOL_CO_DELETE_VC tal 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, 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 ProtocolCoDeleteVc (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte ProtocolCoDeleteVc (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

NdisClCloseCall

NdisCmDispatchIncomingCloseCall

NdisCoCreateVc

NdisCoDeleteVc

ProtocolCoCreateVc