RtlInsertAsRightChild 関数 (ntddk.h)

RtlInsertAsRightChild ルーチンは、ツリー内の特定のノードの適切な子として、指定されたスプレイ リンクをツリーに挿入します。

構文

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

パラメーター

[in] ParentLinks

適切な子として ChildLinks を挿入するツリー内のノードへのポインター。

[in] ChildLinks

ツリーに挿入する再生リンク ノードへのポインター。 ノードは 、RtlInitializeSplayLinks を呼び出して初期化されている必要があります。

戻り値

なし

解説

RtlInsertAsRightChild の呼び出し元は、次の条件を満たす必要があります。

  • ParentLinks のノードには、適切な子が必要です。

    呼び出し元は、 RtlRightChild を呼び出すことで、ノードに適切な子が既にあるかどうかを判断できます。 RtlRightChild がNULL を返す場合、ParentLinksRtlInsertAsRightChild に対する有効なパラメーターです。

  • ChildLinks のノードには親が必要です。

    呼び出し元は、 RtlIsRoot または RtlParent を呼び出すことによって、このノードに既に親があるかどうかを判断できます。 ChildLinks で呼び出されたときに RtlIsRootTRUE を返す場合、ChildLinksRtlInsertAsRightChild に対する有効なパラメーターです。 RtlParent がChildLinks への同等のポインターを返す場合、ChildLinksRtlInsertAsRightChild にも有効なパラメーターです。

Rtl スプレイ リンク ルーチンの呼び出し元は、スプレイ リンク ツリーへのアクセスを同期する役割を担います。 高速ミューテックスは、この目的で使用する最も効率的な同期メカニズムです。

splay リンク ツリーと ChildLinks ノードが非ページの場合、RtlInsertAsRightChild の呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります。 通常、呼び出し元は IRQL PASSIVE_LEVELで実行されています。

必要条件

   
対象プラットフォーム デスクトップ
Header ntddk.h (Ntddk.h、Ntifs.h を含む)
IRQL 「解説」セクションを参照してください。

関連項目

RtlInitializeSplayLinks

RtlInsertAsLeftChild

RtlIsRoot

RtlParent

RtlRightChild

RtlSplay