Share via


SERVICE_REQUIRED_PRIVILEGES_INFOA 結構 (winsvc.h)

表示服務的必要許可權。

語法

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

成員

pmszRequiredPrivileges

指定許可權的多字串。 如需可能值的清單,請參閱 Privilege Constants

多字串是一連串以 Null 終止的字串,由空字串終止, (\0) 。 以下是範例: String1\0String2\0String3\0LastString\0\0

備註

下次啟動服務時,所需的許可權變更會生效。 SCM 會決定當服務嘗試啟動服務時,服務是否可以支援指定的許可權。

最好分析您的服務,並使用所需的最低許可權集。

如果您未設定必要的許可權,SCM 預設會使用指派給進程權杖的擁有權限。 如果您指定服務的許可權,SCM 會在進程啟動時,從進程權杖中移除不需要的許可權。 如果多個服務共用進程,SCM 會計算進程中所有服務所需的許可權聯集。

為了相容性,即使進程中沒有任何服務要求許可權,SeChangeNotifyPrivilege 許可權也不會從進程權杖中移除。 因此,服務不需要明確指定此許可權。

注意

winsvc.h 標頭會將SERVICE_REQUIRED_PRIVILEGES_INFO定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 winsvc.h (包括 Windows.h)

另請參閱

ChangeServiceConfig2

QueryServiceConfig2