Win32_BaseService 클래스의 메서드 변경

ChangeWMI 클래스 메서드는 Win32_BaseService 파생된 서비스 개체를 수정합니다. Win32_LoadOrderGroup 매개 변수는 실행 종속성을 정의하는 시스템 서비스 그룹을 나타냅니다. 서비스는 서로 의존하기 때문에 부하 주문 그룹에서 지정한 순서대로 서비스를 시작해야 합니다. 이러한 종속 서비스에는 선행 서비스가 올바르게 작동해야 합니다.

이 항목에서는 MOF(Managed Object Format) 구문을 사용합니다. 이 메서드를 사용하는 방법에 대한 자세한 내용은 메서드 호출을 참조하세요.

구문

uint32 Change(
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

매개 변수

DisplayName [in]

서비스의 표시 이름입니다. 이 문자열의 최대 길이는 256자입니다. 이름은 서비스 제어 관리자에서 대/소문자를 유지합니다. DisplayName 비교는 항상 대/소문자를 구분하지 않습니다.

제약 조건: Name 매개 변수와 동일한 값을 허용합니다.

예: "Atdisk".

PathName [in]

서비스를 구현하는 실행 파일의 정규화된 경로입니다.

예: "\SystemRoot\System32\drivers\afd.sys".

ServiceType [in]

호출하는 프로세스에 제공되는 서비스 유형입니다.

커널 드라이버 (1)

파일 시스템 드라이버 (2)

어댑터 (4)

Recognizer 드라이버 (8)

자체 프로세스 (16)

프로세스 공유 (32)

(256)

대화형 프로세스

ErrorControl [in]

시작 중에 이 서비스가 시작되지 않는 경우 오류의 심각도입니다. 값은 오류가 발생할 경우 시작 프로그램에서 수행하는 작업을 나타냅니다. 시스템은 모든 오류를 기록합니다.

무시 (0)

사용자에게 오류를 알리지 않습니다.

보통 (1)

일반 파일입니다. 사용자에게 오류를 알립니다.

심각 (2)

시스템이 마지막으로 양좋은 구성으로 다시 시작됩니다.

위험 (3)

올바른 구성으로 시스템을 다시 시작합니다.

StartMode [in]

Windows 기본 서비스의 시작 모드입니다.

부팅 시작 ("부팅")

운영 체제 로더가 시작하는 디바이스 드라이버입니다.

시스템 시작 ("시스템")

운영 체제 초기화 프로세스에서 시작된 디바이스 드라이버입니다. 이 값은 드라이버 서비스에 대해서만 유효합니다.

자동 시작 ("자동")

시스템 시작 중에 서비스 제어 관리자가 자동으로 시작하는 서비스입니다.

수요 시작 ("수동")

프로세스가 StartService 메서드를 호출할 때 서비스 제어 관리자가 시작할 서비스입니다.

사용 안 함 ("사용 안 함")

시작할 수 없는 서비스입니다.

DesktopInteract [in]

True이면 서비스가 바탕 화면의 창을 만들거나 통신할 수 있습니다.

StartName [in]

서비스 유형에 따라 서비스가 실행되는 계정 이름입니다. 계정 이름은 DomainName\Username 또는 .\Username 형식일 수 있습니다. 실행될 때 서비스 프로세스는 이전의 두 양식 중 하나를 사용하여 기록됩니다. 계정이 기본 제공 도메인에 속하는 경우 .\Username을 지정할 수 있습니다. 빈 문자열을 지정하면 서비스가 LocalSystem 계정으로 로그온됩니다. 커널 또는 시스템 수준 드라이버의 경우 StartName 에는 I/O(입력 및 출력) 시스템이 디바이스 드라이버를 로드하는 데 사용하는 \FileSystem\Rdr 또는 \Driver\Xns와 같은 드라이버 개체 이름이 포함됩니다. NULL을 지정하면 드라이버가 서비스 이름(예: DWDOM\관리)에 따라 I/O 시스템에서 만드는 기본 개체 이름으로 실행됩니다.

UPN(사용자 계정 이름) 형식을 사용하여 StartName(예: Username@DomainName)을 지정할 수도 있습니다.

StartPassword [in]

StartName 매개 변수가 지정하는 계정 이름의 암호입니다. 암호를 변경하지 않을 때 NULL 을 지정합니다. 서비스에 암호가 없는 경우 빈 문자열을 지정합니다.

참고

로컬 시스템에서 네트워크로 또는 네트워크에서 로컬 시스템으로 서비스를 변경하는 경우 StartPasswordNULL이 아닌 빈 문자열("")이어야 합니다.

LoadOrderGroup [in]

연결된 그룹 이름입니다. 로드 순서 그룹은 시스템 레지스트리에 포함되며 서비스가 운영 체제에 로드되는 시퀀스를 결정합니다. 포인터가 NULL이거나 빈 문자열을 가리키는 경우 서비스는 그룹에 속하지 않습니다. 그룹 간의 종속성은 LoadOrderGroupDependencies 매개 변수에 나열되어야 합니다. 부하 순서 그룹 목록의 서비스가 먼저 시작되고, 그 다음에는 부하 순서 그룹 목록에 없는 그룹의 서비스, 그룹에 속하지 않는 서비스가 차례로 시작됩니다. 시스템 레지스트리에는 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder에 있는 부하 순서 그룹 목록이 있습니다.

LoadOrderGroupDependencies [in]

이 서비스가 시작되기 전에 시작해야 하는 부하 순서 그룹 목록입니다. 배열은 이중 null로 종료됩니다. 포인터가 NULL이거나 빈 문자열을 가리키는 경우 서비스에 종속성이 없습니다. 서비스 및 서비스 그룹이 동일한 네임스페이스를 공유하기 때문에 그룹 이름은 서비스 이름과 구분하기 위해 SC_GROUP_IDENTIFIER (Winsvc.h 파일에 정의됨) 문자로 접두사를 지정해야 합니다. 그룹에 대한 종속성은 그룹의 모든 멤버를 시작하려고 시도한 후 그룹의 구성원 중 하나 이상이 실행되는 경우 이 서비스를 실행할 수 있음을 의미합니다.

ServiceDependencies [in]

이 서비스가 시작되기 전에 시작해야 하는 서비스 이름이 포함된 목록입니다. 배열은 이중 null로 종료됩니다. 포인터가 NULL이거나 빈 문자열을 가리키는 경우 서비스에 종속성이 없습니다. 서비스에 대한 종속성은 종속된 서비스가 실행 중인 경우에만 이 서비스를 실행할 수 있음을 의미합니다.

반환 값

다음 목록에 나열된 값 중 하나를 반환하거나 오류를 나타내는 다른 값을 반환합니다.

Success

0

요청이 수락됩니다.

지원 안 됨

1

요청이 지원되지 않습니다.

액세스 거부됨

2

사용자에게 필요한 액세스 권한이 없습니다.

실행 중인 종속 서비스

3

실행 중인 다른 서비스가 이 서비스에 종속되어 있어서 이 서비스를 중지할 수 없습니다.

잘못된 서비스 제어

4

요청된 제어 코드가 유효하지 않거나 서비스에 허용되지 않습니다.

서비스에서 제어를 수락할 수 없음

5

Win32_BaseService 개체의 State 속성이 0, 1 또는 2와 같기 때문에 요청된 제어 코드를 서비스로 보낼 수 없습니다.

서비스가 활성화되지 않음

6

서비스가 시작되지 않았습니다.

서비스 요청 시간 제한

7

서비스는 시작 요청에 신속하게 응답하지 않습니다.

알 수 없는 오류

8

대화형 프로세스.

경로를 찾을 수 없음

9

서비스 실행 파일의 디렉터리 경로를 찾을 수 없습니다.

이미 실행 중인 서비스

10

서비스가 이미 실행되고 있습니다.

서비스 데이터베이스 잠금

11

새 서비스를 추가할 데이터베이스가 잠겨 있습니다.

서비스 종속성 삭제됨

12

이 서비스가 사용하는 종속성은 시스템에서 제거됩니다.

서비스 종속성 오류

13

서비스에서 종속 서비스에서 필요한 서비스를 찾을 수 없습니다.

서비스 사용 안 함

14

시스템에서 서비스를 사용할 수 없습니다.

서비스 로그온 실패

15

서비스에 시스템에서 실행하기 위한 올바른 인증이 없습니다.

삭제로 표시된 서비스

16

이 서비스는 시스템에서 제거되고 있습니다.

서비스 스레드 없음

17

서비스에 대한 실행 스레드가 없습니다.

상태 순환 종속성

18

서비스 시작 시 순환 종속성이 있습니다.

상태 중복 이름

19

같은 이름으로 실행 중인 서비스가 있습니다.

상태가 잘못된 이름

20

서비스 이름에 잘못된 문자가 있습니다.

상태가 잘못된 매개 변수

21

잘못된 매개 변수가 서비스에 전달되었습니다.

상태가 잘못된 서비스 계정

22

이 서비스에서 실행할 계정이 잘못되었거나 서비스를 실행할 수 있는 권한이 없습니다.

상태 서비스 존재

23

서비스가 시스템에서 사용할 수 있는 서비스 데이터베이스에 있습니다.

서비스가 이미 일시 중지됨

24

서비스가 현재 시스템에서 일시 중지되었습니다.

기타

25 4294967295

설명

네트워크에서 로컬 시스템으로 서비스를 변경하려면 StartNameStartPassword 매개 변수에 다음 값을 사용합니다.

StartName = "LocalSystem"
StartPassword = "" // - empty string, not NULL

서비스를 로컬 시스템에서 네트워크로 변경하려면 StartNameStartPassword 매개 변수에 다음 값을 사용합니다.

StartName = "NT AUTHORITY\NetworkService"
StartPassword = "" // - empty string, not NULL

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\CIMV2
헤더
Mbnapi.h
MOF
CIMWin32.mof
DLL
CIMWin32.dll

추가 정보

운영 체제 클래스

Win32_BaseService