Функция WSCDeinstallProvider (ws2spi.h)
Функция WSCDeinstallProvider удаляет указанного поставщика транспорта из базы данных конфигурации системы.
Синтаксис
int WSCDeinstallProvider(
[in] LPGUID lpProviderId,
[out] LPINT lpErrno
);
Параметры
[in] lpProviderId
Указатель на глобальный уникальный идентификатор (GUID) для поставщика. Это значение хранится в каждой WSAProtocol_Info структуре.
[out] lpErrno
Указатель на код ошибки в случае сбоя функции.
Возвращаемое значение
Если ошибка не возникает, WSCDeinstallProvider возвращает ноль. В противном случае он возвращает SOCKET_ERROR, и в lpErrno доступен определенный код ошибки.
Код ошибки | Значение |
---|---|
Параметр lpProviderId не указывает допустимый поставщик. | |
Параметр lpErrno не находится в допустимой части адресного пространства пользователя. | |
Произошла неустранимая ошибка. Эта ошибка возвращается при нескольких условиях, включая следующие: у пользователя отсутствуют права администратора, необходимые для записи в реестр сокетов Windows, или произошел сбой при открытии записи каталога. | |
Недостаточно памяти. Эта ошибка возвращается, если памяти недостаточно для выделения новой записи каталога. |
Комментарии
Функция WSCDeinstallProvider удаляет общие сведения о конфигурации Windows Sockets 2 для указанного поставщика. После успешного завершения этой процедуры сведения о конфигурации, хранящиеся в реестре, будут изменены. Однако все экземпляры Ws2_32.dll, находящиеся в памяти, не смогут распознать это изменение.
При успешном выполнении WSCDeinstallProvider попытается оповещать все заинтересованные приложения, зарегистрированные для уведомления об изменении, вызвав WSAProviderConfigChange.
Функция WSCDeinstallProvider может вызываться только пользователем, вошедшим в систему как член группы Администраторы. Если WSCDeinstallProvider вызывается пользователем, не включаемым в группу Администраторы, вызов функции завершится ошибкой и WSANO_RECOVERY возвращается в параметре lpErrno .
Для компьютеров под управлением Windows Vista или Windows Server 2008 эта функция также может завершиться сбоем из-за контроля учетных записей пользователей (UAC). Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как участник группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении в Windows Vista или Windows Server 2008 отсутствует этот файл манифеста, пользователь, вошедший в систему как член группы администраторов, отличный от встроенного администратора, должен выполнять приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени) для успешного выполнения этой функции.
Вызывающий объект этой функции должен удалить все дополнительные файлы или сведения о конфигурации поставщика услуг, необходимые для полного удаления поставщика услуг.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ws2spi.h |
Библиотека | Ws2_32.lib |
DLL | Ws2_32.dll |