StorPortInterlockedPushEntrySList 関数 (storport.h)

Storport で管理される 1 つのリンク リストの先頭に項目を挿入します。 リストへのアクセスは、マルチプロセッサ システムで同期されます。

構文

ULONG StorPortInterlockedPushEntrySList(
  [in]      PVOID                              HwDeviceExtension,
  [in, out] PSTOR_SLIST_HEADER                 SListHead,
  [in, out] __drv_aliasesMem PSTOR_SLIST_ENTRY SListEntry,
  [out]     PSTOR_SLIST_ENTRY                  *Result
);

パラメーター

[in] HwDeviceExtension

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

[in, out] SListHead

1 つのリンクされたリストの先頭を表す STOR_SLIST_HEADER 構造体へのポインター。 この構造体は不透明と見なされ、Storport ドライバーでのみ使用されます。

[in, out] SListEntry

1 つのリンクリストに挿入する項目を表す STOR_SLIST_ENTRY 構造体へのポインター。

[out] Result

リスト エントリ ポインターへのポインター。 返される値は、リストの先頭に存在していた前の項目へのポインターです。 この前のアイテムは、 SListEntry から追加された新しいアイテムの背後にあるリストに残ります。 リストが空の場合、Result が指す値で NULL が返されます。

戻り値

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

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

注釈

呼び出し元によって割り当てられる場合、SListEntry が指すSTOR_SLIST_ENTRY構造体は、MEMORY_ALLOCATION_ALIGNMENT境界に配置する必要があります。 MEMORY_ALLOCATION_ALIGNMENT、miniport.h で定義されています。

要件

要件
サポートされている最小のクライアント Windows 8 以降で使用できます。
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList