次の方法で共有


ExInterlockedFlushSList 関数 (wdm.h)

ExInterlockedFlushSList ルーチンは、シーケンスされた 1 つのリンクリストからすべてのエントリをアトミックに削除します。

構文

NTKERNELAPI
PSLIST_ENTRY
FASTCALL
ExInterlockedFlushSList (
    _Inout_ PSLIST_HEADER ListHead
    );

パラメーター

[in, out] ListHead

シーケンスされた 1 つのリンクリストのヘッダーとして機能する SLIST_HEADER 構造体へのポインター。

戻り値

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

備考

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

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

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任意のレベル (「解説」セクションを参照)

関連項目

ExInitializeSListHead