функция обратного вызова 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.
Код ошибки | Значение |
---|---|
Недостаточно памяти для выполнения этой операции. | |
Подпрограмма вызова не имеет достаточных привилегий для инициализации службы. | |
Один или несколько параметров были недопустимыми или отсутствующими для этого поставщика. | |
Операция не поддерживается. Эта ошибка возвращается, если поставщик пространства имен не реализует эту функцию. | |
Служба неизвестна. Служба не найдена в указанном пространстве имен. |
Комментарии
Функция 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 |