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 を呼び出すことによって、ノードに既に左の子があるかどうかを判断できます。 RtlLeftChild がNULL を返す場合、ParentLinks は RtlInsertAsLeftChild に対する有効なパラメーターです。
-
ChildLinks のノードには親が存在しない必要があります。
呼び出し元は、 RtlIsRoot または RtlParent を呼び出すことによって、このノードに既に親があるかどうかを判断できます。 ChildLinks で呼び出されたときに RtlIsRoot が TRUE を返す場合、ChildLinks は RtlInsertAsLeftChild に対する有効なパラメーターです。 RtlParent がChildLinks への同等のポインターを返す場合、ChildLinks は RtlInsertAsLeftChild に対する有効なパラメーターです。
splay リンク ツリーと ChildLinks ノードが非ページの場合、RtlInsertAsLeftChild の呼び出し元は IRQL <= DISPATCH_LEVELで実行されている必要があります。 通常、呼び出し元は IRQL PASSIVE_LEVELで実行されています。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h、Ntifs.h を含む) |
IRQL | 「解説」を参照してください。 |