Fungsi StorPortInterlockedRemoveHeadList (storport.h)

Rutinitas StorPortInterlockedRemoveHeadList menghapus entri dari awal daftar struktur STOR_LIST_ENTRY yang ditautkan ganda.

Sintaks

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

Parameter

[in] HwDeviceExtension

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

[in, out] ListHead

Penunjuk ke struktur STOR_LIST_ENTRY yang mewakili kepala daftar.

[in, out] Result

Penunjuk ke struktur STOR_LIST_ENTRY yang mewakili entri yang dihapus dari daftar. Jika daftar kosong, rutinitas mengembalikan NULL.

[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 DaftarXxxStorPortInterlocked .

Nilai kembali

StorPortInterlockedRemoveHeadList 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

StorPortInterlockedInsertTailList