функция обратного вызова LPNSPV2CLEANUP (ws2spi.h)

Функция NSPv2Cleanup уведомляет поставщика служб пространства имен версии 2 (NSPv2) о завершении сеанса клиента.

Синтаксис

LPNSPV2CLEANUP Lpnspv2cleanup;

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

Параметры

[in] lpProviderId

Указатель на GUID поставщика пространства имен, о который нужно уведомить.

[in] pvClientSessionArg

Указатель на сеанс клиента.

Возвращаемое значение

Функция должна возвращать NO_ERROR (ноль), если подпрограмма выполнена успешно. Он должен вернуть SOCKET_ERROR (т. е. 1), если подпрограмма завершается сбоем, и она должна задать соответствующий код ошибки с помощью WSASetLastError.

Код ошибки Значение
WSA_NOT_ENOUGH_MEMORY
Недостаточно памяти для выполнения этой операции.
WSAEACCES
Подпрограмма вызова не имеет достаточных привилегий для инициализации службы.
WSAEINVAL
Один или несколько параметров были недопустимыми или отсутствующими для этого поставщика.
WSAEOPNOTSUPP
Операция не поддерживается. Эта ошибка возвращается, если поставщик пространства имен не реализует эту функцию.
WSASERVICE_NOT_FOUND
Служба неизвестна. Служба не найдена в указанном пространстве имен.

Комментарии

Функция NSPv2Cleanup используется как часть архитектуры поставщика служб пространства имен версии 2 (NSPv2), доступной в Windows Vista и более поздних версиях.

В Windows Vista и Windows Server 2008 функция NSPv2Cleanup может использоваться только для операций с поставщиками NS_EMAIL пространств имен.

Функция NSPv2Startup вызывается при каждом запуске нового клиентского процесса с использованием поставщика пространства имен. Поставщики могут использовать аргумент сеанса клиента, на который указывает параметр ppvClientSessionArg , для хранения сведений об этом сеансе. Если для аргумента сеанса клиента в вызове функции NSPv2Startup было указано значение, то этот же аргумент сеанса клиента можно передать в параметре pvClientSessionArg функции NSPv2Cleanup , чтобы уведомить поставщика пространства имен о завершении сеанса клиента.

Функция NSPv2Cleanup вызывается при завершении работы приложения с помощью поставщика службы пространства имен Сокетов Windows. NSPv2Cleanup позволяет поставщику пространства имен освободить любые ресурсы поставщика пространств имен, выделенные для сеанса клиента.

Перед вызовом функции NSPv2Cleanup необходимо успешно вызвать функцию NSPv2Cleanup . Допускается выполнить несколько вызовов NSPv2Startup . Однако для каждого вызова NSPv2Startup также должен быть выдан соответствующий вызов NSPv2Cleanup . Только окончательная очистка NSPv2Cleanup для поставщика служб выполняет фактическую очистку; предыдущие вызовы уменьшают количество внутренних ссылок в поставщике услуг.

Функции NSPv2Startup, NSPv2ClientSessionRundown и NSPv2Cleanup являются необязательными в зависимости от требований поставщика NSPv2.

Если функция NSPv2Cleanup не реализована , вызовы этой функции должны быть перехвачены функцией-заглушкой, которая возвращает WSAEOPNOTSUPP. Указатель функции NSPv2 на нереализованную функцию NSPv2Cleanup в структуре NSPV2_ROUTINE должен указывать на функцию-заглушку.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header ws2spi.h

См. также раздел

NSPV2_ROUTINE

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

NSPv2Startup

WSAQUERYSET2

WSASetLastError