Compartir a través de


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

La función ProtocolClIncomingDropParty la usan los clientes NDIS orientados a la conexión que configuran conexiones de varios puntos. Estos clientes deben tener funciones ProtocolClIncomingDropParty . De lo contrario, la función ProtocolClIncomingDropParty registrada de un controlador de protocolo puede simplemente devolver el control.

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

Sintaxis

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

Parámetros

[in] DropStatus

Indica el motivo por el que se va a quitar la parte. Normalmente, esto es NDIS_STATUS_SUCCESS si la entidad en la nota remota inició un cierre de su conexión, pero podría ser cualquier estado determinado por CM si el administrador de llamadas inició esta operación de eliminación debido a problemas de red detectados.

[in] ProtocolPartyContext

Especifica el identificador del área de contexto por parte del cliente para que se quite la entidad. El cliente proporcionó originalmente este identificador a NDIS cuando llamó a NdisClAddParty o NdisClMakeCall.

[in] CloseData

Puntero a un búfer que contiene un mensaje de cierre específico del protocolo, posiblemente uno proporcionado por el cliente remoto que el administrador de llamadas recibió a través de la red, o este parámetro puede ser NULL.

Cuando DropStatus se NDIS_STATUS_SUCCESS, este parámetro es NULL si el medio de red subyacente no admite transferencias de datos al cerrar una conexión. Sin embargo, cualquier administrador de llamadas determinado podría definir una estructura para pasar información de diagnóstico adicional a sus clientes en operaciones de eliminación causadas por problemas en la red.

[in] Size

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

Valor devuelto

None

Observaciones

Una llamada a ProtocolClIncomingDropParty indica que se ha producido una de las siguientes acciones:

  • El administrador de llamadas ha recibido una solicitud a través de la red para cerrar una conexión establecida, identificada por NdisPartyHandle que el cliente almacenó en su área de contexto por parte en ProtocolPartyContext .
  • El administrador de llamadas ha detectado que los problemas de red impedirán más transferencias de datos en la conexión establecida.
En cualquier caso, ProtocolClIncomingDropParty debe llevar a cabo cualquier operación determinada por protocolo para quitar la entidad del VC de varios puntos del cliente. ProtocolClIncomingDropParty debe llamar a NdisClDropParty o, si es la última parte restante en la vc multipoint del cliente, NdisClCloseCall.

ProtocolClIncomingDropParty debe tener en cuenta el NdisPartyHandle que el cliente obtuvo de NdisClAddParty o NdisClMakeCall no válido. ProtocolClIncomingDropParty puede liberar el área de contexto por parte del cliente o prepararla para su reutilización en una llamada posterior a NdisClAddParty.

Ejemplos

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

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

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

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

Consulte también

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty