Compartir a través de


Función StorPortInterlockedRemoveHeadList (storport.h)

La rutina StorPortInterlockedRemoveHeadList quita una entrada del principio de una lista doblemente vinculada de estructuras de STOR_LIST_ENTRY .

Sintaxis

ULONG StorPortInterlockedRemoveHeadList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY *Result,
  [in, out] PSTOR_KSPIN_LOCK Lock
);

Parámetros

[in] HwDeviceExtension

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

[in, out] ListHead

Puntero a la estructura STOR_LIST_ENTRY que representa el encabezado de la lista.

[in, out] Result

Puntero a una estructura de STOR_LIST_ENTRY que representa la entrada quitada de la lista. Si la lista estaba vacía, la rutina devuelve NULL.

[in, out] Lock

Puntero a una estructura STOR_KSPIN_LOCK que actúa como bloqueo de número usado para sincronizar el acceso a la lista. El almacenamiento del bloqueo de número debe estar residente y debe haberse inicializado llamando a StorPortInitializeSpinLock.

Debe usar este bloqueo de número solo con las rutinas StorPortInterlockedXxxList .

Valor devuelto

StorPortInterlockedRemoveHeadList 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 Los elementos de lista se quitaron correctamente o la lista ya está vacía.
STOR_STATUS_INVALID_PARAMETER Un puntero en ListHead o Result es NULL.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)

Consulte también

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedInsertTailList