LPNSPV2CLEANUP función de devolución de llamada (ws2spi.h)

La función NSPv2Cleanup notifica a un proveedor de servicios de espacio de nombres versión 2 (NSPv2) que ha finalizado una sesión de cliente.

Sintaxis

LPNSPV2CLEANUP Lpnspv2cleanup;

INT Lpnspv2cleanup(
  [in] LPGUID lpProviderId,
  [in] LPVOID pvClientSessionArg
)
{...}

Parámetros

[in] lpProviderId

Puntero al GUID del proveedor de espacios de nombres que se va a notificar.

[in] pvClientSessionArg

Puntero a la sesión de cliente.

Valor devuelto

La función debe devolver NO_ERROR (cero) si la rutina se realiza correctamente. Debe devolver SOCKET_ERROR (es decir, 1) si se produce un error en la rutina y debe establecer el código de error adecuado mediante WSASetLastError.

Código de error Significado
WSA_NOT_ENOUGH_MEMORY
No hay suficiente memoria disponible para realizar esta operación.
WSAEACCES
La rutina de llamada no tiene privilegios suficientes para inicializar el servicio.
WSAEINVAL
Uno o varios parámetros no eran válidos o faltaban para este proveedor.
WSAEOPNOTSUPP
La operación no es compatible. Este error se devuelve si el proveedor de espacios de nombres no implementa esta función.
WSASERVICE_NOT_FOUND
El servicio es desconocido. El servicio no se encuentra en el espacio de nombres especificado.

Observaciones

La función NSPv2Cleanup se usa como parte de la arquitectura del proveedor de servicios de espacio de nombres versión 2 (NSPv2) disponible en Windows Vista y versiones posteriores.

En Windows Vista y Windows Server 2008, la función NSPv2Cleanup solo se puede usar para las operaciones en proveedores de espacios de nombres NS_EMAIL.

La función NSPv2Startup se llama cada vez que un nuevo proceso de cliente comienza a usar el proveedor de espacios de nombres. Los proveedores pueden usar el argumento de sesión de cliente al que apunta el parámetro ppvClientSessionArg para almacenar información sobre esta sesión. Si se especificó un valor para el argumento de sesión de cliente en la llamada a la función NSPv2Startup , este mismo argumento de sesión de cliente se puede pasar en el parámetro pvClientSessionArg a la función NSPv2Cleanup para notificar al proveedor de espacios de nombres que la sesión del cliente ha finalizado.

Se llama a la función NSPv2Cleanup cuando una aplicación termina de usar un proveedor de servicios de espacio de nombres de Windows Sockets. NSPv2Cleanup permite que el proveedor de espacios de nombres libere cualquiera de los recursos del proveedor de espacios de nombres que se asignaron para la sesión de cliente.

Se debe llamar correctamente a la función NSPv2Startup antes de llamar a la función NSPv2Cleanup . Se permite realizar más de una llamada NSPv2Startup . Sin embargo, para cada llamada NSPv2Startup , también se debe emitir una llamada NSPv2Cleanup correspondiente. Solo el NSPv2Cleanup final para el proveedor de servicios realiza la limpieza real; el anterior llama a decrementar un recuento de referencias interno en el proveedor de servicios.

Las funciones NSPv2Startup, NSPv2ClientSessionRundown y NSPv2Cleanup son opcionales, dependiendo de los requisitos del proveedor NSPv2.

Si no se implementa la función NSPv2Cleanup , las llamadas a esa función deben interceptarse mediante una función de código auxiliar que devuelve WSAEOPNOTSUPP. El puntero de función NSPv2 a la función NSPv2Cleanup no implementada en la estructura NSPV2_ROUTINE debe apuntar a la función de código auxiliar.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h

Consulte también

NSPV2_ROUTINE

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAQUERYSET2

WSASetLastError