RtlConvertSidToUnicodeString 함수(ntifs.h)
RtlConvertSidToUnicodeString 루틴은 SID(보안 식별자)의 인쇄 가능한 유니코드 문자열 표현을 생성합니다.
구문
NTSYSAPI NTSTATUS RtlConvertSidToUnicodeString(
[in, out] PUNICODE_STRING UnicodeString,
[in] PSID Sid,
[in] BOOLEAN AllocateDestinationString
);
매개 변수
[in, out] UnicodeString
생성된 유니코드 문자열을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다. UnicodeString-MaximumLength> 멤버는 AllocateDestinationString이 TRUE인 경우에만 설정됩니다.
[in] Sid
유니코드로 변환할 SID 구조체에 대한 포인터입니다(SID 구조는 영향을 받지 않음).
[in] AllocateDestinationString
이 루틴이 UnicodeString 버퍼를 할당할지 여부를 나타내는 부울 플래그입니다. TRUE이면 UnicodeString-Buffer> 멤버만 할당되고 나머지 UnicodeString 구조체는 호출자가 할당해야 합니다.
반환 값
RtlConvertSidToUnicodeString 루틴은 다음 값 중 하나를 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
변환에 성공했습니다. |
|
AllocateDestinationString이 FALSE이고 호출자가 제공한 UnicodeString 버퍼가 너무 작아 변환된 유니코드 문자열을 보유할 수 없는 경우 반환됩니다. |
|
AllocateDestinationString이 TRUE이고 UnicodeString 버퍼를 할당할 메모리가 부족한 경우 반환됩니다. |
|
지정된 SID 구조가 구조적으로 유효하지 않습니다. |
설명
생성된 유니코드 문자열은 두 가지 형식 중 하나를 사용합니다. SID의 IdentifierAuthority 멤버 값이 2^32보다 작거나 같으면 IdentifierAuthority 멤버가 10진수로 생성됩니다. 예를 들어 IdentifierAuthority가 281,736인 SID 는 다음을 생성합니다.
S-1-281736-12-72-9-110
그렇지 않으면 IdentifierAuthority가 16진수로 생성됩니다. 예를 들어 IdentifierAuthority가 173,495,281,736인 SID 는 다음을 생성합니다.
S-1-0x28651FE848-12-72-9-110
SID의 다른 모든 멤버는 10진수로 생성됩니다.
AllocateDestinationString이 TRUE이면 RtlFreeUnicodeString을 사용하여 할당된 버퍼의 할당을 취소해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h, FltKernel.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기