Função StorPortInterlockedInsertTailList (storport.h)

A rotina StorPortInterlockedInsertTailList insere atomicamente uma entrada no final de uma lista duplamente vinculada de estruturas STOR_LIST_ENTRY .

Sintaxe

ULONG StorPortInterlockedInsertTailList(
  [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

Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).

[in, out] ListHead

Ponteiro para a estrutura STOR_LIST_ENTRY que representa o cabeçalho da lista.

[in, out] ListEntry

Ponteiro para uma estrutura STOR_LIST_ENTRY que representa a entrada a ser inserida na lista.

[in, out] Result

Ponteiro para uma estrutura STOR_LIST_ENTRY que representa a primeira entrada da lista antes da nova entrada ser inserida.

[in, out] Lock

Um ponteiro para uma estrutura STOR_KSPIN_LOCK que serve como o bloqueio de rotação usado para sincronizar o acesso à lista. O armazenamento do bloqueio de rotação deve ser residente e deve ter sido inicializado chamando StorPortInitializeSpinLock.

Você deve usar esse bloqueio de rotação somente com as rotinas da ListaXxxStorPortInterlocked .

Retornar valor

StorPortInterlockedInsertHeadList retorna um dos seguintes códigos de status:

Código de retorno Descrição
STOR_STATUS_NOT_IMPLEMENTED Essa função não é implementada no sistema operacional ativo.
STOR_STATUS_SUCCESS Os itens da lista foram removidos com êxito ou a lista já está vazia.
STOR_STATUS_INVALID_PARAMETER Um ponteiro em ListHead ou Result é NULL.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)

Confira também

InitializeListHead

InsertHeadList

StorPortInitializeSpinLock

StorPortInterlockedInsertHeadList

StorPortInterlockedRemoveHeadList