RtlInsertAsRightChild 함수(ntddk.h)

RtlInsertAsRightChild 루틴은 해당 트리에서 지정된 노드의 오른쪽 자식으로 지정된 splay 링크를 트리에 삽입합니다.

구문

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

매개 변수

[in] ParentLinks

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

[in] ChildLinks

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

반환 값

없음

설명

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

  • ParentLinks의 노드에는 올바른 자식이 없어야 합니다.

    호출자는 RtlRightChild를 호출하여 노드에 올바른 자식이 있는지 여부를 확인할 수 있습니다. RtlRightChildNULL을 반환하는 경우 ParentLinksRtlInsertAsRightChild에 대한 유효한 매개 변수입니다.

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

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

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

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

요구 사항

   
대상 플랫폼 데스크톱
헤더 ntddk.h(Ntddk.h, Ntifs.h 포함)
IRQL 주의 섹션을 참조하세요.

참고 항목

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay