QueryServiceConfig2A 함수(winsvc.h)

지정된 서비스의 선택적 구성 매개 변수를 검색합니다.

구문

BOOL QueryServiceConfig2A(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

매개 변수

[in] hService

서비스에 대한 핸들입니다. 이 핸들은 OpenService 또는 CreateService 함수에서 반환되며 SERVICE_QUERY_CONFIG 액세스 권한이 있어야 합니다. 자세한 내용은 서비스 보안 및 액세스 권한을 참조하세요.

[in] dwInfoLevel

쿼리할 구성 정보입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
lpInfo 매개 변수는 SERVICE_DELAYED_AUTO_START_INFO 구조체에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_DESCRIPTION
1
lpBuffer 매개 변수는 SERVICE_DESCRIPTION 구조체에 대한 포인터입니다.
SERVICE_CONFIG_FAILURE_ACTIONS
2
lpBuffer 매개 변수는 SERVICE_FAILURE_ACTIONS 구조체에 대한 포인터입니다.
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
lpInfo 매개 변수는 SERVICE_FAILURE_ACTIONS_FLAG 구조체에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_PREFERRED_NODE
9
lpInfo 매개 변수는 SERVICE_PREFERRED_NODE_INFO 구조체에 대한 포인터입니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
lpInfo 매개 변수는 SERVICE_PRESHUTDOWN_INFO 구조체에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
lpInfo 매개 변수는 SERVICE_REQUIRED_PRIVILEGES_INFO 구조체에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_SERVICE_SID_INFO
5
lpInfo 매개 변수는 SERVICE_SID_INFO 구조체에 대한 포인터입니다.

Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_TRIGGER_INFO
8
lpInfo 매개 변수는 SERVICE_TRIGGER_INFO 구조체에 대한 포인터입니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 이 값은 지원되지 않습니다.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
lpInfo 매개 변수는 SERVICE_LAUNCH_PROTECTED_INFO 구조체를 가리키는 포인터입니다.
참고 이 값은 Windows 8.1 부터 지원됩니다.
 

[out, optional] lpBuffer

서비스 구성 정보를 수신하는 버퍼에 대한 포인터입니다. 이 데이터의 형식은 dwInfoLevel 매개 변수의 값에 따라 달라집니다.

이 배열의 최대 크기는 8K바이트입니다. 필요한 크기를 확인하려면 이 매개 변수에 NULL 을 지정하고 cbBufSize 매개 변수에 대해 0을 지정합니다. 함수가 실패하고 GetLastError가ERROR_INSUFFICIENT_BUFFER 반환합니다. pcbBytesNeeded 매개 변수는 필요한 크기를 받습니다.

[in] cbBufSize

lpBuffer 매개 변수가 가리키는 구조체의 크기(바이트)입니다.

[out] pcbBytesNeeded

함수가 ERROR_INSUFFICIENT_BUFFER 실패하는 경우 구성 정보를 저장하는 데 필요한 바이트 수를 수신하는 변수에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

서비스 제어 관리자가 설정할 수 있는 오류 코드는 다음과 같습니다. 다른 함수는 서비스 제어 관리자가 호출하는 레지스트리 함수에 의해 설정할 수 있습니다.

반환 코드 설명
ERROR_ACCESS_DENIED
핸들에 SERVICE_QUERY_CONFIG 액세스 권한이 없습니다.
ERROR_INSUFFICIENT_BUFFER
lpBuffer 버퍼에 맞는 것보다 더 많은 서비스 구성 정보가 있습니다. 모든 정보를 가져오는 데 필요한 바이트 수는 pcbBytesNeeded 매개 변수에 반환됩니다. lpBuffer에 아무 것도 기록되지 않습니다.
ERROR_INVALID_HANDLE
지정한 핸들이 잘못되었습니다.

설명

QueryServiceConfig2 함수는 지정된 서비스에 대한 서비스 제어 관리자 데이터베이스에 저장된 선택적 구성 정보를 반환합니다. ChangeServiceConfig2 함수를 사용하여 이 구성 정보를 변경할 수 있습니다.

각각 ChangeServiceConfigQueryServiceConfig 함수를 사용하여 추가 구성 정보를 변경하고 쿼리할 수 있습니다.

예제

예제는 서비스 구성 쿼리를 참조하세요.

참고

winsvc.h 헤더는 QUERYServiceConfig2를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winsvc.h(Windows.h 포함)
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

ChangeServiceConfig

ChangeServiceConfig2

CreateService

OpenService

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

서비스 구성

서비스 함수