структура SERVICE_REQUIRED_PRIVILEGES_INFOW (winsvc.h)
Представляет необходимые привилегии для службы.
Синтаксис
typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOW {
LPWSTR pmszRequiredPrivileges;
} SERVICE_REQUIRED_PRIVILEGES_INFOW, *LPSERVICE_REQUIRED_PRIVILEGES_INFOW;
Члены
pmszRequiredPrivileges
Многостроняя строка, указывающая привилегии. Список возможных значений см. в разделе Константы привилегий.
Многостроковый — это последовательность строк, завершаемых значением NULL, завершаемая пустой строкой (\0). Ниже приведен пример: String1\0String2\0String3\0LastString\0\0
.
Замечания
Изменение необходимых привилегий вступает в силу при следующем запуске службы. SCM определяет, может ли служба поддерживать указанные привилегии при попытке запуска службы.
Лучше всего проанализировать службу и использовать минимальный набор необходимых привилегий.
Если вы не задаете необходимые привилегии, SCM использует все привилегии, назначенные по умолчанию маркеру процесса. Если вы указываете привилегии для службы, служба SCM удаляет привилегии, которые не требуются из маркера процесса при запуске процесса. Если несколько служб совместно используют процесс, SCM вычисляет объединение привилегий, необходимых всем службам в процессе.
Для обеспечения совместимости привилегия SeChangeNotifyPrivilege никогда не удаляется из маркера процесса, даже если служба в процессе не запрашивает привилегию. Поэтому службе не нужно явно указывать эту привилегию.
Заметка
Заголовок winsvc.h определяет SERVICE_REQUIRED_PRIVILEGES_INFO как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
заголовка | winsvc.h (включая Windows.h) |