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

권한을 지정하는 다중 문자열입니다. 가능한 값 목록은 권한 상수를 참조하세요.

다중 문자열은 빈 문자열(\0)에 의해 종료되는 null로 끝나는 문자열 시퀀스입니다. 예제는 입니다 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