RtlInsertAsLeftChild 함수(ntddk.h)

RtlInsertAsLeftChild 루틴은 지정된 노드의 왼쪽 자식으로 트리에 splay 링크 노드를 삽입합니다.

구문

void RtlInsertAsLeftChild(
  [in] PRTL_SPLAY_LINKS ParentLinks,
  [in] PRTL_SPLAY_LINKS ChildLinks
);

매개 변수

[in] ParentLinks

ChildLinks를 왼쪽 자식으로 삽입해야 하는 트리의 노드에 대한 포인터입니다.

[in] ChildLinks

트리에 삽입할 splay 링크 노드에 대한 포인터입니다. RtlInitializeSplayLinks를 호출하여 노드를 초기화해야 합니다.

반환 값

없음

설명

RtlInsertAsLeftChild의 호출자는 다음 조건을 충족해야 합니다.

  • ParentLinks의 노드에는 왼쪽 자식이 없어야 합니다.

    호출자는 RtlLeftChild를 호출하여 노드에 이미 왼쪽 자식이 있는지 여부를 확인할 수 있습니다. RtlLeftChildNULL을 반환하는 경우 ParentLinksRtlInsertAsLeftChild에 대한 유효한 매개 변수입니다.

  • ChildLinks의 노드에는 부모가 없어야 합니다.

    호출자는 RtlIsRoot 또는 RtlParent를 호출하여 이 노드에 이미 부모가 있는지 여부를 확인할 수 있습니다. ChildLinks를 사용하여 호출할 때 RtlIsRootTRUE를 반환하는 경우 ChildLinksRtlInsertAsLeftChild에 대한 유효한 매개 변수입니다. RtlParentChildLinks에 해당하는 포인터를 반환하는 경우 ChildLinksRtlInsertAsLeftChild에 대한 유효한 매개 변수입니다.

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

RtlInsertAsLeftChild의 호출자는 splay 링크 트리 및 ChildLinks 노드가 페이지가 없는 경우 IRQL <= DISPATCH_LEVEL 실행되어야 합니다. 일반적으로 호출자는 IRQL PASSIVE_LEVEL 실행됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ntddk.h(Ntddk.h, Ntifs.h 포함)
IRQL 설명 섹션을 참조하십시오.

추가 정보

RtlInitializeSplayLinks

RtlInsertAsRightChild

RtlIsRoot

RtlLeftChild

RtlParent

RtlSplay