Compartir a través de


Función StorPortInterlockedPushEntrySList (storport.h)

Inserta un elemento en la parte frontal de una lista vinculada administrada de 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 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 frontal de la lista. Este elemento anterior permanece en la lista detrás del nuevo elemento agregado de SListEntry. Si la lista está vacía, NULL se devuelve 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 de SListHead, SListEntryo Result es NULL.

Observaciones

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

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.
de la plataforma de destino de Universal
encabezado de storport.h (incluya Storport.h)
irQL <= DISPATCH_LEVEL

Consulte también

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList