ConvertSecurityDescriptorToStringSecurityDescriptorA 함수(sddl.h)

ConvertSecurityDescriptorToStringSecurityDescriptor 함수는 보안 설명자를 문자열 형식으로 변환합니다. 문자열 형식을 사용하여 보안 설명자를 저장하거나 전송할 수 있습니다.

문자열 형식 보안 설명자를 유효한 기능 보안 설명자로 다시 변환하려면 ConvertStringSecurityDescriptorToSecurityDescriptor 함수를 호출합니다.

구문

BOOL ConvertSecurityDescriptorToStringSecurityDescriptorA(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  DWORD                RequestedStringSDRevision,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] LPSTR                *StringSecurityDescriptor,
  [out] PULONG               StringSecurityDescriptorLen
);

매개 변수

[in] SecurityDescriptor

변환할 보안 설명자에 대한 포인터입니다. 보안 설명자는 절대 또는 자기 상대 형식일 수 있습니다.

[in] RequestedStringSDRevision

출력 StringSecurityDescriptor 문자열의 수정 수준을 지정합니다. 현재 이 값은 SDDL_REVISION_1 합니다.

[in] SecurityInformation

출력 문자열에 포함할 보안 설명자의 구성 요소를 나타내는 SECURITY_INFORMATION 비트 플래그의 조합을 지정합니다.

BACKUP_SECURITY_INFORMATION 플래그는 이 함수에 적용되지 않습니다. BACKUP_SECURITY_INFORMATION 플래그가 전달되면 SecurityInformation 매개 변수는 Null 문자열 출력이 포함된 TRUE를 반환합니다.

[out] StringSecurityDescriptor

null로 종료된 보안 설명자 문자열에 대한 포인터를 수신하는 변수에 대한 포인터입니다. 문자열 형식에 대한 설명은 보안 설명자 문자열 형식을 참조하세요. 반환된 버퍼를 해제하려면 LocalFree 함수를 호출합니다.

[out] StringSecurityDescriptorLen

StringSecurityDescriptor 버퍼에 반환된 보안 설명자 문자열의 크기(TCHAR)를 수신하는 변수에 대한 포인터입니다. 크기를 검색할 필요가 없는 경우 이 매개 변수는 NULL 일 수 있습니다. 크기는 문자열의 WCHAR수가 아닌 WCHAR의 버퍼 크기를 나타냅니다.

반환 값

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

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다. GetLastError 함수는 다음 오류 코드 중 하나를 반환할 수 있습니다.

반환 코드 설명
ERROR_INVALID_PARAMETER
매개 변수가 잘못된 경우
ERROR_UNKNOWN_REVISION
수정 버전 수준이 잘못되었습니다.
ERROR_NONE_MAPPED
입력 보안 설명자의 SID( 보안 식별자 )를 계정 조회 작업에서 찾을 수 없습니다.
ERROR_INVALID_ACL
ACL( 액세스 제어 목록 )이 잘못되었습니다. 입력 보안 설명자에 SE_DACL_PRESENT 플래그가 설정되고 DACL이 NULL인 경우 이 오류가 반환됩니다.

설명

DACL이 NULL이고 SE_DACL_PRESENT 제어 비트가 입력 보안 설명자에 설정된 경우 함수가 실패합니다.

DACL이 NULL이고 SE_DACL_PRESENT 제어 비트가 입력 보안 설명자에 설정되지 않은 경우 결과 보안 설명자 문자열에는 D: 구성 요소가 없습니다. 자세한 내용은 보안 설명자 문자열 형식을 참조하세요.

참고

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 sddl.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

Access Control 개요

기본 Access Control 함수

ConvertSidToStringSid

ConvertStringSecurityDescriptorToSecurityDescriptor

ConvertStringSidToSid

SECURITY_DESCRIPTOR

SECURITY_INFORMATION