RtlSplay 함수(ntddk.h)

RtlSplay 루틴 리밸런스 또는 "splays"는 지정된 splay 링크 주위의 splay 링크 트리로, 트리의 새 루트를 연결합니다.

구문

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

매개 변수

[in, out] Links

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

반환 값

RtlSplay 는 트리의 균형을 조정하면 링크 포인터를 반환합니다.

설명

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

Splay 링크 트리의 리밸런싱을 보여 주는 다이어그램. 여기서 L은 지정된 링크이고, P는 부모 노드이고, G는 해당 조부모 노드입니다.

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

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

요구 사항

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

추가 정보

RtlDelete

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlInsertAsRightChild