Condividi tramite


Funzione StorPortInterlockedInsertHeadList (storport.h)

La routine StorPortInterlockedInsertHeadList inserisce una voce all'inizio di un elenco collegato doubly di strutture STOR_LIST_ENTRY .

Sintassi

ULONG StorPortInterlockedInsertHeadList(
  [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 del bus host (HBA).

[in, out] ListHead

Puntatore alla struttura STOR_LIST_ENTRY che rappresenta il capo 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 rotazione usato per sincronizzare l'accesso all'elenco. L'archiviazione per il blocco spin deve essere residente e deve essere stata inizializzata chiamando StorPortInitializeSpinLock.

È necessario usare questo blocco di spin solo con le routine StorPortInterlockedXxxList .

Valore restituito

StorPortInterlockedInsertHeadList restituisce un codice di stato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STOR_STATUS_NOT_IMPLEMENTED Questa funzione non viene implementata nel sistema operativo attivo.
STOR_STATUS_SUCCESS Gli elementi dell'elenco sono stati rimossi 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

StorPortInterlockedInsertTailList

StorPortInterlockedRemoveHeadList