次の方法で共有


ExInterlockedFlushSList 関数 (wdm.h)

ExInterlockedFlushSList ルーチンは、一連の個別にリンクされたリストからすべてのエントリをアトミックに削除します。

構文

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

パラメーター

[in, out] ListHead

SLIST_HEADER 構造への ポインター。これは、1 つの順序でリンクされたリストのヘッダーとして機能します。

戻り値

指定したリストにエントリがある場合、 ExInterlockedFlushSList は、リストのエントリであった最初 のSLIST_ENTRY 構造体へのポインターを返します。それ以外の場合は NULL を返します。

注釈

ExInterlockedFlushSList は、 リストを構成する SLIST_ENTRY 構造体を削除しません。 ListHead の内部ポインターのみをリストの先頭に NULL に設定します。 ドライバーは、エントリを明示的に解放する必要があります。

ルーチンは、リストにある最初の SLIST_ENTRY 構造体へのポインターを返します。 ドライバーは、このポインターを使用してエントリを反復処理できます。

このルーチンを使用して一連の一連のリンクリストを実装する方法の詳細については、「Singly および Doubly Linked Lists」を参照してください。

ExInterlockedFlushSList の呼び出し元は、任意の IRQL で実行できます。 ListHead パラメーターとリスト エントリのストレージは、すべての IRQLs に常駐している必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル (「解説」セクションを参照)

こちらもご覧ください

ExInitializeSListHead