次の方法で共有


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 返す場合、ParentLinks は RtlInsertAsRightChild するための有効なパラメーターです。

  • ChildLinks のノードには親が必要ありません。

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

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

RtlInsertAsRightChild の呼び出し元は、irQL <= DISPATCH_LEVELで実行する必要があります。これは、ChildLinks ノードが非ページの場合です。 通常、呼び出し元は IRQL PASSIVE_LEVELで実行されます。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー ntddk.h (Ntddk.h、Ntifs.h を含む)
IRQL 「解説」セクションを参照してください。

関連項目

RtlInitializeSplayLinks

RtlInsertAsLeftChild する

RtlIsRoot する

RtlParent する

RtlRightChild

RtlSplay する