Функция обратного вызова LPNSPGETSERVICECLASSINFO (ws2spi.h)
Функция NSPGetServiceClassInfo извлекает все соответствующие сведения о классе (схеме), относящиеся к поставщику пространства имен. Этот вызов извлекает все сведения, относящиеся к пространству имен, которые являются общими для всех экземпляров службы, включая сведения о подключении для SAP или сведения о портах для SAP или TCP.
Синтаксис
LPNSPGETSERVICECLASSINFO Lpnspgetserviceclassinfo;
INT Lpnspgetserviceclassinfo(
[in] LPGUID lpProviderId,
[in, out] LPDWORD lpdwBufSize,
[in, out] LPWSASERVICECLASSINFOW lpServiceClassInfo
)
{...}
Параметры
[in] lpProviderId
Указатель на GUID конкретного поставщика пространства имен, из которого должна быть получена схема класса службы.
[in, out] lpdwBufSize
На входных данных — размер (в байтах) буфера, на который указывает параметр lpServiceClassInfo .
Если в выходных данных функция завершается сбоем и возникает ошибка WSAEFAULT, этот параметр указывает минимальный размер буфера в байтах, указывающего на параметр lpServiceClassInfo , необходимый для получения записи.
[in, out] lpServiceClassInfo
Возвращает указатель на структуру WSASERVICECLASSINFOW , содержащую класс службы для сведений о сопоставлении пространства имен. Параметр lpServiceClassId должен быть заполнен, чтобы указать, какая запись WSASERVICECLASSINFOW должна быть возвращена.
Возвращаемое значение
Если ошибка не возникает, функция NSPGetServiceClassInfo возвращает NO_ERROR (ноль). В противном случае возвращается SOCKET_ERROR (–1), а поставщик пространства имен должен задать соответствующий код ошибки с помощью WSASetLastError.
Код ошибки | Значение |
---|---|
Недостаточно памяти для выполнения этой операции. | |
Вызывающая подпрограмма не имеет достаточных привилегий для доступа к информации. | |
Буфер, на который указывает параметр lpServiceClass, был слишком мал, чтобы содержать структуру WSASERVICECLASSINFOW . Приложение должно передать буфер большего размера. | |
Указанный идентификатор класса службы или идентификатор поставщика пространства имен недопустим. Эта ошибка возвращается, если параметры lpProviderId, lpServiceClassId, lpdwBufSize или lpServiceClassInfo имеют значение **NULL**. | |
Операция не поддерживается. Эта ошибка возвращается, если поставщик пространства имен не реализует эту функцию. | |
Запрошенное имя является допустимым, но данные запрошенного типа не найдены. | |
Указанный класс не найден. |
Комментарии
W2_32.dll использует эту функцию для реализации функции WSAGetServiceClassNameByClassId , а также для получения сведений о пространстве имен, передаваемых в функции NSPLookupServiceBegin и NSPSetService .
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ws2spi.h |