StorPortInterlockedInsertHeadList 関数 (storport.h)

StorPortInterlockedInsertHeadList ルーチンは、STOR_LIST_ENTRY構造体の二重にリンクされたリストの先頭にエントリ アトミックに挿入します。

構文

ULONG StorPortInterlockedInsertHeadList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY ListEntry,
  [in, out] PSTOR_LIST_ENTRY *Result,
  [in, out] PSTOR_KSPIN_LOCK Lock
);

パラメーター

[in] HwDeviceExtension

ホスト バス アダプター (HBA) のハードウェア デバイス拡張機能へのポインター。

[in, out] ListHead

リストの先頭を表す STOR_LIST_ENTRY 構造体へのポインター。

[in, out] ListEntry

リストに挿入するエントリを表す STOR_LIST_ENTRY 構造体へのポインター。

[in, out] Result

新しい エントリが挿入 される前のリストの最初のエントリを表すSTOR_LIST_ENTRY構造体へのポインター。

[in, out] Lock

リストへのアクセスを同期するために使用されるスピン ロックとして機能する STOR_KSPIN_LOCK 構造体へのポインター。 スピン ロックのストレージは常駐であり、 StorPortInitializeSpinLock を呼び出して初期化されている必要があります。

このスピン ロックは 、StorPortInterlockedXxxList ルーチンでのみ使用する必要があります。

戻り値

StorPortInterlockedInsertHeadList は、次のいずれかの状態コードを返します。

リターン コード 説明
STOR_STATUS_NOT_IMPLEMENTED この関数は、アクティブなオペレーティング システムには実装されません。
STOR_STATUS_SUCCESS リスト アイテムが正常に削除されたか、リストが既に空です。
STOR_STATUS_INVALID_PARAMETER ListHead または Result のポインターが NULL です

要件

要件
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)

こちらもご覧ください

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertTailList

StorPortInterlockedRemoveHeadList