Поделиться через


структура SERVICE_REQUIRED_PRIVILEGES_INFOA (winsvc.h)

Представляет необходимые привилегии для службы.

Синтаксис

typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOA {
  LPSTR pmszRequiredPrivileges;
} SERVICE_REQUIRED_PRIVILEGES_INFOA, *LPSERVICE_REQUIRED_PRIVILEGES_INFOA;

Члены

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)

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

ChangeServiceConfig2

QueryServiceConfig2