Compartilhar via


Função StorPortInterlockedPushEntrySList (storport.h)

Insere um item na frente de uma lista vinculada do Storport gerenciada. O acesso à lista é sincronizado em um sistema multiprocessador.

Sintaxe

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

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

[in, out] SListHead

Um ponteiro para uma estrutura STOR_SLIST_HEADER que representa o cabeçalho de uma lista vinculada. Essa estrutura é considerada opaca e é usada apenas pelo driver Storport.

[in, out] SListEntry

Um ponteiro para uma estrutura de STOR_SLIST_ENTRY que representa o item a ser inserido na lista vinculada.

[out] Result

Um ponteiro para um ponteiro de entrada de lista. O valor retornado é um ponteiro para o item anterior que existia na frente da lista. Este item anterior permanece na lista por trás do item novo item adicionado de SListEntry. Se a lista estiver vazia, NULL será retornado no valor apontado por Result.

Valor de retorno

StorPortInterlockedPushEntrySList 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
O item de lista foi inserido com êxito na lista ou já está vazio.
STOR_STATUS_INVALID_PARAMETER
Um ponteiro em SListHead, SListEntry ou Result é NULL.

Observações

Quando alocada pelo chamador, a estrutura de STOR_SLIST_ENTRY apontada por SListEntry deve ser alinhada em um limite de MEMORY_ALLOCATION_ALIGNMENT. MEMORY_ALLOCATION_ALIGNMENT é definido em miniport.h.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível para começar com o Windows 8.
da Plataforma de Destino Universal
cabeçalho storport.h (inclua Storport.h)
IRQL <= DISPATCH_LEVEL

Consulte também

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPopEntrySList

StorPortQueryDepthSList