Функция WSCEnableNSProvider32 (ws2spi.h)

Функция WSCEnableNSProvider32 включает или отключает указанный поставщик 32-разрядного пространства имен. Он предназначен для предоставления конечным пользователям возможности изменять состояние поставщиков пространства имен.

Примечание Этот вызов является строго 32-разрядной версией WSCEnableNSProvider для использования на 64-разрядных компьютерах. Он предоставляется для предоставления 64-разрядным процессам доступа к 32-разрядным каталогам.

 

Синтаксис

INT WSCEnableNSProvider32(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

Параметры

[in] lpProviderId

Указатель на глобальный уникальный идентификатор (GUID) для поставщика пространства имен.

[in] fEnable

Логическое значение, которое, если значение TRUE, поставщику пространства имен присваивается активное состояние. Если задано значение FALSE, поставщик пространства имен отключен и не будет доступен для операций запроса или регистрации службы.

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

Если ошибка не возникает, функция WSCEnableNSProvider32 возвращает NO_ERROR (ноль). В противном случае он возвращает SOCKET_ERROR , если функция завершается сбоем, и необходимо получить соответствующий код ошибки с помощью функции WSAGetLastError .

Код ошибки Значение
WSAEFAULT
Параметр lpProviderId указывает на память, которая не находится в допустимой части адресного пространства пользователя.
WSAEINVAL
Указанный идентификатор поставщика пространства имен недопустим.
WSASYSCALLFAILURE
Системный вызов, который никогда не должен завершаться ошибкой, завершился сбоем.
WSA_NOT_ENOUGH_MEMORY
Недостаточно памяти. Эта ошибка возвращается, если памяти недостаточно для выделения новой записи каталога.

Комментарии

Функция WSCEnableNSProvider32 предназначена для изменения состояния поставщиков пространства имен. Независимый поставщик программного обеспечения обычно не должен отменять активацию другого поставщика пространства имен независимого поставщика программного обеспечения для активации собственного поставщика. Выбор должен быть оставлен за пользователем.

WSCEnableNSProvider32 — это строго 32-разрядная версия WSCEnableNSProvider. На 64-разрядном компьютере все вызовы не только 32-разрядные (например, все функции, которые не заканчиваются на "32"), работают в собственном 64-разрядном каталоге. Процессы, выполняемые на 64-разрядном компьютере, должны использовать определенные вызовы 32-разрядных функций для работы со строго 32-разрядным каталогом и сохранения совместимости. Определения и семантика конкретных 32-разрядных вызовов совпадают с собственными аналогами.

Функции конфигурации пространства имен не влияют на уже запущенные приложения. Недавно установленные поставщики пространств имен не будут видны приложениям, а также не изменятся в состоянии активации поставщика пространства имен. Приложения, запущенные после вызова WSCEnableNSProvider32 , увидят изменения.

Функцию WSCEnableNSProvider32 может вызывать только пользователь, вошедший в систему как член группы Администраторы. Если WSCEnableNSProvider32 вызывается пользователем, который не является членом группы администраторов, вызов функции завершится ошибкой.

Для компьютеров под управлением Windows Vista или Windows Server 2008 эта функция также может завершиться сбоем из-за контроля учетных записей пользователей (UAC). Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как участник группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении в Windows Vista или Windows Server 2008 отсутствует этот файл манифеста, пользователь, вошедший в систему как член группы администраторов, отличный от встроенного администратора, должен выполнять приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени) для успешного выполнения этой функции.

Требования

   
Минимальная версия клиента Windows Vista, Windows XP Professional x64 Edition [только классические приложения]
Минимальная версия сервера Windows Server 2008, Windows Server 2003 x64 Edition [только классические приложения]
Целевая платформа Windows
Header ws2spi.h
Библиотека Ws2_32.lib
DLL Ws2_32.dll

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

WSCEnableNSProvider

WSCEnumProtocols32

WSCInstallNameSpace32

WSCUnInstallNameSpace32

WSCWriteNameSpaceOrder32