QUERY_SERVICE_CONFIGA 구조체(winsvc.h)
설치된 서비스에 대한 구성 정보를 포함합니다. 이 함수는 QueryServiceConfig 함수에서 사용됩니다.
통사론
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
회원
dwServiceType
서비스 유형입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값이 SERVICE_WIN32_OWN_PROCESS 또는 SERVICE_WIN32_SHARE_PROCESSLocalSystem 계정컨텍스트에서 서비스가 실행되는 경우 다음 형식도 지정할 수 있습니다.
값 | 의미 |
---|---|
|
서비스는 데스크톱과 상호 작용할 수 있습니다.
자세한 내용은 Interactive Services참조하세요. |
dwStartType
서비스를 시작할 때입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
서비스가 시스템 시작 중에 서비스 제어 관리자에 의해 자동으로 시작됩니다. |
|
시스템 로더에서 시작한 디바이스 드라이버입니다. 이 값은 드라이버 서비스에만 유효합니다. |
|
프로세스에서 StartService 함수를 호출할 때 서비스 제어 관리자가 시작한 서비스입니다. |
|
시작할 수 없는 서비스입니다. 오류 코드가 ERROR_SERVICE_DISABLED서비스 결과를 시작하려고 시도합니다. |
|
IoInitSystem 함수에서 시작한 디바이스 드라이버입니다. 이 값은 드라이버 서비스에만 유효합니다. |
dwErrorControl
이 서비스를 시작하지 못하는 경우 오류의 심각도 및 수행된 작업입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
lpBinaryPathName
서비스 이진 파일에 대한 정규화된 경로입니다.
경로에는 자동 시작 서비스에 대한 인수도 포함될 수 있습니다. 이러한 인수는 서비스 진입점(일반적으로 주 함수)에 전달됩니다.
lpLoadOrderGroup
이 서비스가 속한 부하 순서 그룹의 이름입니다. 멤버가 NULL이거나 빈 문자열인 경우 서비스는 부하 순서 그룹에 속하지 않습니다.
시작 프로그램은 부하 순서 그룹을 사용하여 다른 그룹과 관련하여 지정된 순서로 서비스 그룹을 로드합니다. 부하 순서 그룹 목록은 다음 레지스트리 값에 포함됩니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
lpLoadOrderGroup 매개 변수로 지정된 그룹에서 이 서비스에 대한 고유 태그 값입니다. 값이 0이면 서비스에 태그가 할당되지 않았습니다. 다음 위치에 있는 레지스트리에서 태그 순서 벡터를 지정하여 부하 주문 그룹 내에서 서비스 시작 순서 지정에 태그를 사용할 수 있습니다.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
태그는 SERVICE_BOOT_START 또는 SERVICE_SYSTEM_START 시작 형식이 있는 SERVICE_KERNEL_DRIVER 및 SERVICE_FILE_SYSTEM_DRIVER 형식 서비스에 대해서만 평가됩니다.
lpDependencies
이 서비스 전에 시작해야 하는 Null로 구분된 서비스 이름 또는 로드 순서 그룹 배열에 대한 포인터입니다. 배열은 이중 null로 종료됩니다. 포인터가 NULL
lpServiceStartName
서비스 유형이 SERVICE_WIN32_OWN_PROCESS 또는 SERVICE_WIN32_SHARE_PROCESS경우 이 멤버는 서비스 프로세스가 실행될 때 로그온되는 계정의 이름입니다. 이 이름은 도메인
서비스 유형이 SERVICE_KERNEL_DRIVER 또는 SERVICE_FILE_SYSTEM_DRIVER경우 이 멤버는 입력 및 출력(I/O) 시스템에서 디바이스 드라이버를 로드하는 데 사용하는 드라이버 개체 이름(즉, \FileSystem\Rdr 또는 \Driver\Xns)입니다. 이 멤버가 NULL이면 드라이버가 서비스 이름에 따라 I/O 시스템에서 만든 기본 개체 이름으로 실행됩니다.
lpDisplayName
서비스 제어 프로그램에서 서비스를 식별하는 데 사용할 표시 이름입니다. 이 문자열의 최대 길이는 256자입니다. 이름은 서비스 제어 관리자에서 대/소문자를 유지합니다. 표시 이름 비교는 항상 대/소문자를 구분하지 않습니다.
이 매개 변수는 다음 형식을 사용하여 지역화된 문자열을 지정할 수 있습니다.
@[경로]DLLName,-StrID
식별자 StrID 있는 문자열은 DLLName;에서 로드됩니다. 경로 선택 사항입니다. 자세한 내용은 RegLoadMUIString참조하세요.
Windows Server 2003 및 Windows XP: 지역화된 문자열은 Windows Vista까지 지원되지 않습니다.
발언
서비스에 대한 구성 정보는 CreateService 함수를 호출하여 서비스를 만들 때 처음 지정됩니다. ChangeServiceConfig 함수를 호출하여 정보를 수정할 수 있습니다.
예제
예를 들어 서비스의 구성쿼리를 참조하세요.
메모
winsvc.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 QUERY_SERVICE_CONFIG 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
헤더 | winsvc.h(Windows.h 포함) |
참고 항목
ChangeServiceConfig
CreateService
QueryServiceConfig