Funzione StorPortInterlockedInsertTailList (storport.h)

La routine StorPortInterlockedInsertTailList inserisce atomicamente una voce alla fine di un elenco doubly collegato di strutture STOR_LIST_ENTRY .

Sintassi

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
);

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] ListEntry

Puntatore a una struttura STOR_LIST_ENTRY che rappresenta la voce da inserire nell'elenco.

[in, out] Result

Puntatore a una struttura STOR_LIST_ENTRY che rappresenta la prima voce dell'elenco prima dell'inserimento della nuova voce.

[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

StorPortInterlockedInsertHeadList 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

StorPortInterlockedRemoveHeadList