RtlSplay 함수(ntddk.h)

RtlSplay 루틴은 지정된 splay 링크 주위의 플레이 링크 트리인 "splays"의 균형을 다시 조정하여 트리의 새 루트를 연결합니다.

구문

NTSYSAPI PRTL_SPLAY_LINKS RtlSplay(
  [in, out] PRTL_SPLAY_LINKS Links
);

매개 변수

[in, out] Links

리밸런스된 플레이 링크 트리의 루트 노드가 될 노드에 대한 포인터입니다. RtlInitializeSplayLinks를 호출하여 노드를 초기화해야 합니다.

반환 값

RtlSplay 는 트리의 균형을 다시 조정한 경우 링크 포인터를 반환합니다.

설명

L이 지정된 링크이면 P는 부모 노드이고 G는 조부모 노드인 경우 RtlSplay 는 다음 그림에 표시된 6가지 패턴 중 하나에 따라 splay 링크 트리의 균형을 조정합니다.

L이 지정된 링크이고, P가 부모 노드이고, G가 해당 조부모 노드인 스플레이 링크 트리의 리밸런싱을 보여 주는 다이어그램.

Rtl splay 링크 루틴의 호출자는 splay 링크 트리에 대한 액세스를 동기화하는 작업을 담당합니다. 빠른 뮤텍스는 이 목적을 위해 사용할 수 있는 가장 효율적인 동기화 메커니즘입니다.

트리가 페이징되지 않은 경우 RtlSplay 의 호출자는 IRQL <= DISPATCH_LEVEL 실행되어야 합니다. 일반적으로 호출자는 IRQL PASSIVE_LEVEL 실행됩니다.

요구 사항

   
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 설명 섹션을 참조하세요.

추가 정보

RtlDelete

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild