Compartir a través de


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

Se requiere la función ProtocolCmDeregisterSap . NDIS llama a esta función para solicitar que un administrador de llamadas anule el registro de sap en nombre de un cliente orientado a la conexión.

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

Sintaxis

PROTOCOL_CM_DEREGISTER_SAP ProtocolCmDeregisterSap;

NDIS_STATUS ProtocolCmDeregisterSap(
  [in] NDIS_HANDLE CallMgrSapContext
)
{...}

Parámetros

[in] CallMgrSapContext

Especifica el identificador de un área de contexto asignada por el administrador de llamadas en la que el administrador de llamadas mantiene su información de estado por SAP. El administrador de llamadas proporcionó este identificador a NDIS desde su Función ProtocolCmRegisterSap .

Valor devuelto

ProtocolCmDeregisterSap devuelve el estado de sus operaciones como una de las siguientes:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
Indica que el administrador de llamadas quitó correctamente el registro de SAP y liberó los recursos asignados para mantener la información por SAP.
NDIS_STATUS_PENDING
Indica que el administrador de llamadas completará la solicitud para anular el registro de SAP de forma asincrónica. El administrador de llamadas debe llamar a NdisCmDeregisterSapComplete para indicar NDIS cuando se complete la operación.

Comentarios

ProtocolCmDeregisterSap se comunica con dispositivos de control de red u otros agentes específicos de medios, según sea necesario, para anular el registro de SAP en la red. Estas acciones podrían incluir, pero no están limitadas a:

  • Comunicación con un hardware de conmutación
  • Comunicación con una estación de control de red
  • Comunicación con otros agentes de red específicos de medios
Si se requiere un administrador de llamadas para comunicarse con agentes de control de red, como un conmutador de red, debe usar una conexión virtual al agente de control de red que estableció en su función ProtocolBindAdapterEx . Los administradores de llamadas independientes se comunican a través del controlador de miniport subyacente llamando a NdisCoSendNetBufferLists. Los controladores miniport que proporcionan compatibilidad integrada con la administración de llamadas nunca llaman a NdisCoSendNetBufferLists. En su lugar, transmiten los datos directamente a través de la red.

Además, ProtocolCmDeregisterSap debe liberar todos los recursos asignados dinámicamente en su área por SAP, proporcionados en CallMgrSapContext, así como liberar el propio área de estado antes de devolver el control a NDIS.

Ejemplos

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

PROTOCOL_CM_DEREGISTER_SAP MyCmDeregisterSap;

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

_Use_decl_annotations_
NDIS_STATUS
 MyCmDeregisterSap(
    NDIS_HANDLE  CallMgrSapContext
    )
  {...}

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

Consulte también

NdisCmDeregisterSapComplete

NdisCoSendNetBufferLists

ProtocolBindAdapterEx

ProtocolCmRegisterSap