Función StorPortInterlockedPopEntrySList (storport.h)

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

Syntax

Sintaxis

ULONG StorPortInterlockedPopEntrySList(
  [in]      PVOID              HwDeviceExtension,
  [in, out] PSTOR_SLIST_HEADER SListHead,
  [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.

[out] Result

Puntero a un puntero de entrada de lista. El valor devuelto es un puntero al elemento quitado del principio de la lista. Si la lista está vacía, result devuelve NULL en el valor al que apunta Result.

Valor devuelto

StorPortInterlockedPopEntrySList 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 quitó correctamente de la lista o ya está vacío.
STOR_STATUS_INVALID_PARAMETER
Un puntero en SListHead o Result es NULL.

Comentarios

StorPortInterlockedPopEntrySList también devolverá STATUS_SUCCESS cuando no haya entradas en la lista. El valor de puntero al que hace referencia Result debe evaluarse para NULL para comprobar que no se devolvió ninguna entrada.

StorPortInterlockedPopEntrySList no libera la entrada de lista que devuelve. Cualquier código de desasignación de la lista debe tener cuidado de liberar memoria asignada para una entrada de lista en la ubicación obtenida antes de cualquier ajuste para la alineación de los límites. El valor al que apunta Result puede no ser la ubicación original del búfer asignada debido a un ajuste para MEMORY_ALLOCATION_ALIGNMENT. Consulte los comentarios de StorPortInterlockedPushEntrySList.

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

StorPortInterlockedPushEntrysList

StorPortQueryDepthsList