Функция OpenServiceW (winsvc.h)
Открывает существующую службу.
Синтаксис
SC_HANDLE OpenServiceW(
[in] SC_HANDLE hSCManager,
[in] LPCWSTR lpServiceName,
[in] DWORD dwDesiredAccess
);
Параметры
[in] hSCManager
Дескриптор для базы данных диспетчера управления службами. Функция OpenSCManager возвращает этот дескриптор. Дополнительные сведения см. в разделе Безопасность службы и права доступа.
[in] lpServiceName
Имя открываемой службы. Это имя, указанное параметром lpServiceName функции CreateService при создании объекта службы, а не отображаемое имя службы, отображаемое приложениями пользовательского интерфейса для идентификации службы.
Максимальная длина строки — 256 символов. В базе данных диспетчера управления службами сохраняется регистр символов, но при сравнении имен служб регистр всегда не учитывается. Косая черта (/) и обратная косая черта (\) являются недопустимыми символами имени службы.
[in] dwDesiredAccess
Доступ к службе. Список прав доступа см. в разделе Безопасность служб и права доступа.
Перед предоставлением запрошенного доступа система проверяет маркер доступа вызывающего процесса в соответствии со списком управления доступом по усмотрению дескриптора безопасности, связанного с объектом службы.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение является дескриптором для службы.
Если функция завершается сбоем, возвращается значение NULL. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Диспетчер управления службами может задать следующие коды ошибок. Другие могут быть заданы функциями реестра, которые вызываются диспетчером управления службами.
Код возврата | Описание |
---|---|
|
Дескриптор не имеет доступа к службе. |
|
Указанный дескриптор недопустим. |
|
Указанное имя службы недопустимо. |
|
Указанная служба не существует. |
Комментарии
Возвращенный дескриптор действителен только для процесса, который вызвал OpenService. Его можно закрыть, вызвав функцию CloseServiceHandle .
Для использования OpenService не требуются никакие привилегии, кроме SC_MANAGER_CONNECT.
Примеры
Пример см. в разделе Запуск службы.
Примечание
Заголовок winsvc.h определяет OpenService как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winsvc.h (включая Windows.h) |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по