RtlAbsoluteToSelfRelativeSD 함수(ntifs.h)
RtlAbsoluteToSelfRelativeSD 루틴은 절대 형식의 보안 설명자를 템플릿으로 사용하여 자체 상대 형식의 새 보안 설명자를 만듭니다.
구문
NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
[in] PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
[out] PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
[in, out] PULONG BufferLength
);
매개 변수
[in] AbsoluteSecurityDescriptor
절대 형식의 SECURITY_DESCRIPTOR 구조를 포함하는 호출자가 할당한 버퍼에 대한 포인터입니다. RtlAbsoluteToSelfRelativeSD 는 원본을 수정하지 않고 이 보안 설명자의 버전을 자체 상대 형식으로 만듭니다.
[out] SelfRelativeSecurityDescriptor
자체 상대 형식의 보안 설명자를 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다.
[in, out] BufferLength
SelfRelativeSecurityDescriptor 매개 변수가 가리키는 버퍼의 크기를 바이트 단위로 지정하는 호출자 할당 변수에 대한 포인터입니다. 버퍼가 보안 설명자를 저장할 만큼 크지 않은 경우 RtlAbsoluteToSelfRelativeSD 는 STATUS_BUFFER_TOO_SMALL 반환하고 이 변수를 필요한 최소 크기로 설정합니다.
반환 값
RtlAbsoluteToSelfRelativeSD 는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
AbsoluteSecurityDescriptor 매개 변수가 가리키는 버퍼에 절대 형식의 SECURITY_DESCRIPTOR 구조체가 포함되지 않았습니다. STATUS_BAD_DESCRIPTOR_FORMAT 오류 코드입니다. |
|
SelfRelativeSecurityDescriptor 매개 변수가 가리키는 버퍼가 너무 작아서 보안 설명자를 자체 상대 형식으로 포함할 수 없습니다. STATUS_BUFFER_TOO_SMALL 오류 코드입니다. |
설명
절대 형식의 보안 설명자는 정보 자체를 포함하지 않고 포함된 정보에 대한 포인터를 포함합니다. 자체 상대 형식의 보안 설명자에는 연속된 메모리 블록의 정보가 포함됩니다. 자체 상대 보안 설명자에서 SECURITY_DESCRIPTOR 구조는 항상 정보를 시작하지만 보안 설명자의 다른 구성 요소는 어떤 순서로든 SECURITY_DESCRIPTOR 구조를 따를 수 있습니다. 보안 설명자의 구성 요소는 메모리 주소를 사용하는 대신 보안 설명자의 시작 부분부터 오프셋으로 식별됩니다. 이 형식은 보안 설명자를 디스크에 저장하거나 통신 프로토콜을 통해 전송해야 하는 경우에 유용합니다.
자체 상대 형식의 보안 설명자를 템플릿으로 사용하여 절대 형식으로 새 보안 설명자를 만들려면 RtlSelfRelativeToAbsoluteSD를 사용합니다.
보안 및 액세스 제어에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2003 SP1 |
대상 플랫폼 | 유니버설 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe(커널 모드); Ntdll.dll(사용자 모드) |
IRQL | <= APC_LEVEL |