Share via


Función StorPortInterlockedPushEntrySList (storport.h)

Inserta un elemento en la parte delantera de una lista vinculada administrada por Storport. El acceso a la lista se sincroniza en un sistema multiprocesador.

Sintaxis

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

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA).

[in, out] SListHead

Puntero a una estructura STOR_SLIST_HEADER que representa el encabezado de una lista vinculada de forma singly. Esta estructura se considera opaca y solo la usa el controlador storport.

[in, out] SListEntry

Puntero a una estructura STOR_SLIST_ENTRY que representa el elemento que se va a insertar en la lista vinculada singly.

[out] Result

Puntero a un puntero de entrada de lista. El valor devuelto es un puntero al elemento anterior que existía en la parte delantera de la lista. Este elemento anterior permanece en la lista detrás del nuevo elemento agregado desde SListEntry. Si la lista está vacía, Result devuelve NULL en el valor al que apunta Result.

Valor devuelto

StorPortInterlockedPushEntrySList devuelve uno de los siguientes códigos de estado:

Código devuelto Descripción
STOR_STATUS_NOT_IMPLEMENTED
Esta función no se implementa en el sistema operativo activo.
STOR_STATUS_SUCCESS
El elemento de lista se insertó correctamente en la lista o ya está vacío.
STOR_STATUS_INVALID_PARAMETER
Un puntero en SListHead, SListEntry o Result es NULL.

Comentarios

Cuando lo asigna el autor de la llamada, la estructura de STOR_SLIST_ENTRY a la que apunta SListEntry debe estar alineada en un límite de MEMORY_ALLOCATION_ALIGNMENT . MEMORY_ALLOCATION_ALIGNMENT se define en miniport.h.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en a partir de Windows 8.
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)
IRQL <= DISPATCH_LEVEL

Consulte también

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList