GetSharedServiceDirectory 함수(winsvc.h)
서비스 및 관련 프로그램이 상태를 읽고/또는 쓸 수 있도록 서비스별 파일 시스템 위치에 대한 경로를 반환합니다.
구문
DWORD GetSharedServiceDirectory(
SC_HANDLE ServiceHandle,
SERVICE_SHARED_DIRECTORY_TYPE DirectoryType,
PWCHAR PathBuffer,
DWORD PathBufferLength,
DWORD *RequiredBufferLength
);
매개 변수
ServiceHandle
서비스에 대한 핸들입니다. 이 핸들은 OpenService 함수에서 반환됩니다.
DirectoryType
검색할 서비스별 공유 디렉터리 경로의 형식을 식별하는 SERVICE_SHARED_DIRECTORY_TYPE 열거형의 멤버입니다.
PathBuffer
경로 문자열을 복사할 호출자가 할당한 버퍼입니다. NULL이면 ERROR_INSUFFICIENT_BUFFER 함수 호출이 실패하고 필요한 버퍼 길이(WCHAR)를 RequiredBufferLength로 반환합니다. NULL이 아닌 경우 버퍼의 길이를 PathBufferLength에 지정해야 합니다. 경로가 기록되면 NULL이 종료됩니다.
PathBufferLength
PathBuffer에 제공된 버퍼의 길이(WCHARS 단위)입니다. PathBuffer가 NULL인 경우 이 인수는 무시됩니다.
RequiredBufferLength
이 값은 WCHAR 단위로 버퍼의 필요한 길이로 설정됩니다. 이 길이에는 종료 NULL 문자가 포함됩니다.
반환 값
모든 작업이 성공적으로 완료되고 NULL로 종료된 상태 경로가 PathBuffer에 기록될 때 ERROR_SUCCESS 반환합니다. PathBuffer가 상태 경로를 포함할 만큼 크지 않거나 PathBuffer가 NULL인 경우 ERROR_INSUFFICIENT_BUFFER 반환합니다. 이 경우 WCHAR의 필수 버퍼 길이는 RequiredBufferLength를 통해 반환됩니다. 다른 오류가 발생하면 Win32 오류 코드가 반환됩니다.
설명
ServiceSharedDirectoryPersistentState의 경우 디렉터리의 보안은 로컬 시스템 계정, 서비스 SID 및 로컬 관리자에 대한 쓰기 액세스만 제공하도록 설정됩니다. 이 API를 호출하는 모든 서비스에 대해 서비스 SID가 사용하도록 설정되어 있는지 확인합니다. 자세한 내용은 SERVICE_SID_INFO.
서비스 자체에서 사용하기 위해 서비스 상태를 독점적으로 제공하는 유사한 API는 GetServiceDirectory를 참조하세요.
서비스가 제거되면 서비스 제어 관리자가 모든 서비스 상태 디렉터리를 삭제합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 11(빌드 22000) |
지원되는 최소 서버 | Windows Server 2022(빌드 20348) |
머리글 | winsvc.h |
라이브러리 | Onecore.lib |