Condividi tramite


Funzione StorPortInterlockedPushEntrySList (storport.h)

Inserisce un elemento nella parte anteriore di un elenco collegato gestito di Storport. L'accesso all'elenco viene sincronizzato in un sistema multiprocessore.

Sintassi

ULONG StorPortInterlockedPushEntrySList(
  [in]      PVOID                              HwDeviceExtension,
  [in, out] PSTOR_SLIST_HEADER                 SListHead,
  [in, out] __drv_aliasesMem PSTOR_SLIST_ENTRY SListEntry,
  [out]     PSTOR_SLIST_ENTRY                  *Result
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo hardware per la scheda bus host (HBA).

[in, out] SListHead

Puntatore a una struttura STOR_SLIST_HEADER che rappresenta l'intestazione di un elenco collegato singly. Questa struttura è considerata opaca e viene utilizzata solo dal driver Storport.

[in, out] SListEntry

Puntatore a una struttura STOR_SLIST_ENTRY che rappresenta l'elemento da inserire nell'elenco collegato singly.

[out] Result

Puntatore a un puntatore di ingresso dell'elenco. Il valore restituito è un puntatore all'elemento precedente esistente all'inizio dell'elenco. Questo elemento precedente rimane nell'elenco dietro l'elemento nuovo aggiunto da SListEntry. Se l'elenco è vuoto, NULL viene restituito nel valore a cui punta Result.

Valore restituito

StorPortInterlockedPushEntrySList 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
L'elemento dell'elenco è stato inserito correttamente nell'elenco o è già vuoto.
STOR_STATUS_INVALID_PARAMETER
Un puntatore in SListHead, SListEntryo Result è NULL.

Osservazioni

Se allocato dal chiamante, la struttura STOR_SLIST_ENTRY a cui punta SListEntry deve essere allineata a un limite di MEMORY_ALLOCATION_ALIGNMENT. MEMORY_ALLOCATION_ALIGNMENT è definito in miniport.h.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Universale
intestazione storport.h (include Storport.h)
IRQL <= DISPATCH_LEVEL

Vedere anche

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList