Share via


LPNSPV2CLEANUP funzione di callback (ws2spi.h)

La funzione NSPv2Cleanup informa un provider di servizi dello spazio dei nomi versione-2 (NSPv2) che una sessione client ha terminato.

Sintassi

LPNSPV2CLEANUP Lpnspv2cleanup;

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

Parametri

[in] lpProviderId

Puntatore al GUID del provider di spazi dei nomi da notificare.

[in] pvClientSessionArg

Puntatore alla sessione client.

Valore restituito

La funzione deve restituire NO_ERROR (zero) se la routine ha esito positivo. Deve restituire SOCKET_ERROR (ovvero 1) se la routine ha esito negativo e deve impostare il codice di errore appropriato usando WSASetLastError.

Codice di errore Significato
WSA_NOT_ENOUGH_MEMORY
Non è disponibile memoria sufficiente per eseguire questa operazione.
WSAEACCES
La routine chiamante non dispone di privilegi sufficienti per inizializzare il servizio.
WSAEINVAL
Uno o più parametri non sono validi o mancanti per questo provider.
WSAEOPNOTSUPP
L'operazione non è supportata. Questo errore viene restituito se il provider di spazi dei nomi non implementa questa funzione.
WSASERVICE_NOT_FOUND
Il servizio è sconosciuto. Impossibile trovare il servizio nello spazio dei nomi specificato.

Commenti

La funzione NSPv2Cleanup viene usata come parte dell'architettura del provider di servizi dello spazio dei nomi versione-2 (NSPv2) disponibile in Windows Vista e versioni successive.

In Windows Vista e Windows Server 2008 la funzione NSPv2Cleanup può essere usata solo per le operazioni sui provider di spazi dei nomi NS_EMAIL.

La funzione NSPv2Startup viene chiamata ogni volta che un nuovo processo client inizia usando il provider di spazi dei nomi. I provider possono usare l'argomento sessione client a cui punta il parametro ppvClientSessionArg per archiviare informazioni su questa sessione. Se è stato specificato un valore per l'argomento sessione client nella chiamata alla funzione NSPv2Startup , questo stesso argomento sessione client può essere passato nel parametro pvClientSessionArg alla funzione NSPv2Cleanup per notificare al provider dello spazio dei nomi che la sessione client ha terminato.

La funzione NSPv2Cleanup viene chiamata quando un'applicazione viene completata usando un provider di servizi dello spazio dei nomi Windows Sockets. NSPv2Cleanup consente al provider di spazi dei nomi di liberare qualsiasi risorsa del provider di spazi dei nomi allocata per la sessione client.

La funzione NSPv2Startup deve essere chiamata correttamente prima di chiamare la funzione NSPv2Cleanup . È consentito effettuare più chiamate NSPv2Startup . Tuttavia, per ogni chiamata NSPv2Startup , deve essere rilasciata anche una chiamata NSPv2Cleanup corrispondente. Solo il NSPv2Cleanup finale per il provider di servizi esegue la pulizia effettiva; le chiamate precedenti decrenono un conteggio dei riferimenti interni nel provider di servizi.

Le funzioni NSPv2Startup, NSPv2ClientSessionRundown e NSPv2Cleanup sono facoltative, a seconda dei requisiti del provider NSPv2.

Se la funzione NSPv2Cleanup non è implementata, le chiamate a tale funzione devono essere intercettate da una funzione stub che restituisce WSAEOPNOTSUPP. Il puntatore alla funzione NSPv2 alla funzione NSPv2Cleanup non implementata nella struttura NSPV2_ROUTINE deve puntare alla funzione stub.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ws2spi.h

Vedi anche

NSPV2_ROUTINE

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAQUERYSET2

WSASetLastError