Funzione StorPortInterlockedRemoveHeadList (storport.h)

La routine StorPortInterlockedRemoveHeadList rimuove una voce dall'inizio di un elenco doubly collegato di strutture STOR_LIST_ENTRY .

Sintassi

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

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware per l'adattatore bus host (HBA).

[in, out] ListHead

Puntatore alla struttura STOR_LIST_ENTRY che rappresenta l'intestazione dell'elenco.

[in, out] Result

Puntatore a una struttura STOR_LIST_ENTRY che rappresenta la voce rimossa dall'elenco. Se l'elenco è vuoto, la routine restituisce NULL.

[in, out] Lock

Puntatore a una struttura STOR_KSPIN_LOCK che funge da blocco di selezione utilizzato per sincronizzare l'accesso all'elenco. Lo spazio di archiviazione per il blocco di rotazione deve essere residente e deve essere stato inizializzato chiamando StorPortInitializeSpinLock.

È necessario usare questo blocco spin solo con le routine ElencoXxxStorPortInterlocked .

Valore restituito

StorPortInterlockedRemoveHeadList restituisce uno dei codici di stato seguenti:

Codice restituito Descrizione
STOR_STATUS_NOT_IMPLEMENTED Questa funzione non viene implementata nel sistema operativo attivo.
STOR_STATUS_SUCCESS Le voci di elenco sono state rimosse correttamente o l'elenco è già vuoto.
STOR_STATUS_INVALID_PARAMETER Un puntatore in ListHead o Result è NULL.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione storport.h (include Storport.h)

Vedi anche

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList