Поделиться через


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

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

Синтаксис

LPNSPV2STARTUP Lpnspv2startup;

INT Lpnspv2startup(
  [in] LPGUID lpProviderId,
  [in] LPVOID *ppvClientSessionArg
)
{...}

Параметры

[in] lpProviderId

Указатель на GUID конкретного поставщика пространства имен для уведомления.

[in] ppvClientSessionArg

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

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

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

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

Комментарии

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

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

Функция NSPv2Startup вызывается при каждом запуске нового клиентского процесса с использованием поставщика пространства имен. Поставщики могут использовать аргумент сеанса клиента, на который указывает параметр ppvClientSessionArg , для хранения сведений об этом сеансе. Значение в параметре ppvClientSessionArg будет передано последующим вызовам функций NSPv2 в том же сеансе. Аргумент сеанса клиента может иметь значение NULL, если поставщику пространства имен не требуются эти сведения.

Функция NSPv2Startup вызывается при инициализации нового сеанса клиента. Функции NSPv2Startup и NSPv2Cleanup должны вызываться как пары.

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

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

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

Требования

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

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

NSPV2_ROUTINE

NSPv2Cleanup

NSPv2ClientSessionRundown

NSPv2LookupServiceBegin

NSPv2LookupServiceEnd

NSPv2LookupServiceNextEx

NSPv2SetServiceEx

WSAQUERYSET2

WSASetLastError