Bagikan melalui


Fungsi StorPortInterlockedInsertTailList (storport.h)

Rutinitas StorPortInterlockedInsertTailList secara atomik menyisipkan entri di akhir daftar struktur STOR_LIST_ENTRY yang ditautkan ganda.

Sintaks

ULONG StorPortInterlockedInsertTailList(
  [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
);

Parameter

[in] HwDeviceExtension

Pointer ke ekstensi perangkat keras untuk adaptor bus host (HBA).

[in, out] ListHead

Penunjuk ke struktur STOR_LIST_ENTRY yang mewakili kepala daftar.

[in, out] ListEntry

Penunjuk ke struktur STOR_LIST_ENTRY yang mewakili entri yang akan disisipkan ke dalam daftar.

[in, out] Result

Penunjuk ke struktur STOR_LIST_ENTRY yang mewakili entri pertama daftar sebelum entri baru disisipkan.

[in, out] Lock

Penunjuk ke struktur STOR_KSPIN_LOCK yang berfungsi sebagai kunci putar yang digunakan untuk menyinkronkan akses ke daftar. Penyimpanan untuk kunci putaran harus residen dan harus diinisialisasi dengan memanggil StorPortInitializeSpinLock.

Anda harus menggunakan kunci putar ini hanya dengan rutinitas StorPortInterlockedXxxList .

Nilai kembali

StorPortInterlockedInsertHeadList mengembalikan salah satu kode status berikut:

Menampilkan kode Deskripsi
STOR_STATUS_NOT_IMPLEMENTED Fungsi ini tidak diimplementasikan pada sistem operasi aktif.
STOR_STATUS_SUCCESS Item daftar berhasil dihapus atau daftar sudah kosong.
STOR_STATUS_INVALID_PARAMETER Penunjuk di ListHead atau Result adalah NULL.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header storport.h (termasuk Storport.h)

Lihat juga

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedRemoveHeadList