Compartir a través de


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

Se requiere la función ProtocolCmDropParty . NDIS llama a ProtocolCmDropParty para solicitar que el administrador de llamadas quite una entidad de una llamada de varios puntos existente.

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

Sintaxis

PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;

NDIS_STATUS ProtocolCmDropParty(
  [in]           NDIS_HANDLE CallMgrPartyContext,
  [in, optional] PVOID CloseData,
  [in, optional] UINT Size
)
{...}

Parámetros

[in] CallMgrPartyContext

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 parte. Este identificador se proporcionó a NDIS en la función ProtocolCmAddParty de administradores de llamadas.

[in, optional] CloseData

Puntero a un búfer que contiene datos específicos del cliente orientados a la conexión que se deben enviar a través de la conexión antes de que se quite la entidad. Este parámetro es NULL si el medio de red subyacente no admite transferencias de datos al cerrar una conexión.

[in, optional] Size

Especifica la longitud, en bytes, del búfer en CloseData, cero si CloseData es NULL.

Valor devuelto

ProtocolCmDropParty devuelve el estado de sus operaciones como uno de los valores siguientes:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
Indica que el administrador de llamadas ha quitado correctamente la entidad, envió los datos de cierre y liberó los recursos asignados para su área de contexto.
NDIS_STATUS_PENDING
Indica que el administrador de llamadas completará la solicitud para quitar la entidad de forma asincrónica. El administrador de llamadas debe llamar a NdisCmDropPartyComplete cuando se haya terminado todo el procesamiento para notificar a NDIS y al actor solicitante que se ha quitado la parte.
NDIS_STATUS_INVALID_DATA
Indica que CloseData se especificó en el administrador de llamadas, pero el tipo de medio no admite el envío de datos simultáneos con la finalización de la conexión.

Comentarios

ProtocolCmDropParty se comunica con dispositivos de control de red u otros agentes específicos de medios, según sea necesario para su medio, para quitar una entidad de una llamada de varios puntos existente. Si el administrador de llamadas es necesario para comunicarse con agentes de control de red (por ejemplo, un conmutador de red), debe usar una conexión virtual a los agentes de control de red que estableció en su Función ProtocolBindAdapterEx .

Si CloseData no es NULL y su tipo de medio admite el envío de datos a la terminación de la conexión, el administrador de llamadas debe transmitir los datos especificados en CloseData antes de completar la finalización. Si el tipo de medio no admite el envío de datos simultáneos con la terminación de la conexión, el administrador de llamadas debe devolver el control con NDIS_STATUS_INVALID_DATA.

Los administradores de llamadas también deben liberar los recursos por usuario que haya asignado y almacenado en CallMgrPartyContext . Además, el administrador de llamadas debe liberar el búfer almacenado CallMgrPartyContext . Si no lo hace, se producirá una condición de pérdida de memoria.

Ejemplos

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

PROTOCOL_CM_DROP_PARTY MyCmDropParty;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCmDropParty(
    NDIS_HANDLE  CallMgrPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

Consulte también

NdisCmDropPartyComplete

ProtocolCmAddParty