Compartir a través de


Función StorPortInterlockedInsertHeadList (storport.h)

La rutina StorPortInterlockedInsertHeadList inserta de forma atómica una entrada al principio de una lista vinculada duplicada de estructuras de STOR_LIST_ENTRY .

Sintaxis

ULONG StorPortInterlockedInsertHeadList(
  [in]      PVOID            HwDeviceExtension,
  [in, out] PSTOR_LIST_ENTRY ListHead,
  [in, out] PSTOR_LIST_ENTRY ListEntry,
  [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] ListEntry

Puntero a una estructura de STOR_LIST_ENTRY que representa la entrada que se va a insertar en la lista.

[in, out] Result

Puntero a una estructura de STOR_LIST_ENTRY que representa la primera entrada de la lista antes de insertar la nueva entrada.

[in, out] Lock

Puntero a una estructura de 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

StorPortInterlockedInsertHeadList devuelve un código de estado como uno de los siguientes:

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 de ListHead o Result es NULL.

Requisitos

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

Consulte también

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertTailList

StorPortInterlockedRemoveHeadList