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

Se requiere la función ProtocolCmActivateVcComplete . Esta función indica al administrador de llamadas que el controlador de miniport ha completado una llamada anterior a NdisCoActivateVc .

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

Sintaxis

PROTOCOL_CM_ACTIVATE_VC_COMPLETE ProtocolCmActivateVcComplete;

void ProtocolCmActivateVcComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Parámetros

[in] Status

Especifica el estado final, tal como indica el controlador de miniporte, de la solicitud por parte del administrador de llamadas para activar un VC.

[in] CallMgrVcContext

Especifica el identificador de un área de contexto asignada por el administrador de llamadas en la que el administrador de llamadas mantiene su estado por VC. El administrador de llamadas proporcionó este identificador desde su función ProtocolCoCreateVc .

[in] CallParameters

Puntero a los parámetros de llamada especificados por el administrador de llamadas en una llamada a NdisCmActivateVc.

Valor devuelto

None

Observaciones

Cuando otros componentes de red han completado sus operaciones para activar una conexión virtual, iniciada cuando el administrador de llamadas llamado NdisCmActivateVc, NDIS notifica al administrador de llamadas que el VC se ha activado llamando a su función ProtocolCmActivateVcComplete . El estado de la activación se encuentra en Estado . Entre los valores posibles de Status se incluyen, pero no se limitan a:

ProtocolCmActivateVcComplete debe comprobar el estado devuelto en Estado para asegurarse de que la conexión virtual se ha activado correctamente. El administrador de llamadas no debe intentar comunicarse a través de la conexión virtual si Status no es NDIS_STATUS_SUCCESS.

Los administradores de llamadas deben completar cualquier procesamiento requerido por sus medios de red para asegurarse de que la conexión virtual está lista para la transmisión de datos antes de devolver el control a NDIS.

Si el administrador de llamadas especificó ROUND_UP_FLOW o ROUND_DOWN_FLOW en CallParameters :>
MediaParameters:>Marcas, los parámetros de llamada devueltos en CallParameters pueden haber sido cambiados por el controlador de miniport. Los administradores de llamadas deben examinar los parámetros de llamada que se devolvieron para garantizar una operación correcta. Si los nuevos parámetros de llamada no son satisfactorios, el administrador de llamadas debe llamar a NdisCmActivateVc de nuevo con nuevos parámetros de llamada o desactivar el VC con NdisCmDeactivateVc.

Ejemplos

Para definir una función ProtocolCmActivateVcComplete , primero debe proporcionar una declaración de función que identifique el tipo de función que está definiendo. 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 ProtocolCmActivateVcComplete denominada "MyCmActivateVcComplete", use el tipo PROTOCOL_CM_ACTIVATE_VC_COMPLETE como se muestra en este ejemplo de código:

PROTOCOL_CM_ACTIVATE_VC_COMPLETE MyCmActivateVcComplete;

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

_Use_decl_annotations_
VOID
 MyCmActivateVcComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

El tipo de función PROTOCOL_CM_ACTIVATE_VC_COMPLETE 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_CM_ACTIVATE_VC_COMPLETE en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante 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 controladores NDIS 6.0 y NDIS 5.1 (consulte ProtocolCmActivateVcComplete (NDIS 5.1)) en Windows Vista. Compatible con controladores NDIS 5.1 (consulte ProtocolCmActivateVcComplete (NDIS 5.1)) en Windows XP.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL <= DISPATCH_LEVEL
Reglas de cumplimiento de DDI SpinLockBalanced(ndis), SpinLockDpr(ndis)

Consulte también

NdisCmActivateVc

NdisCmDeactivateVc

ProtocolCmMakeCall