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 los administradores de llamadas función ProtocolCmAddParty.

[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 siguientes valores:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
Indica que el administrador de llamadas ha eliminado correctamente la entidad, envió los datos cercanos 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 entidad.
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.

Observaciones

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 multipunto 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 esnull 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 terminació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 entidad 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 de

Para definir una función ProtocolCmDropParty, 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 ProtocolCmDropParty función denominada "MyCmDropParty", use el tipo PROTOCOL_CM_DROP_PARTY tal 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 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 los controladores NDIS 6.0 y NDIS 5.1 (consulte ProtocolCmDropParty (NDIS 5.1)) en Windows Vista. Compatible con los controladores NDIS 5.1 (consulte ProtocolCmDropParty (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

NdisCmDropPartyComplete

ProtocolCmAddParty