Função StorPortInterlockedPopEntrySList (storport.h)

Remove um item da frente de uma lista vinculada exclusivamente gerenciada pelo Storport. O acesso à lista é sincronizado em um sistema multiprocessador.

Syntax

Sintaxe

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

[out] Result

Um ponteiro para um ponteiro de entrada de lista. O valor retornado é um ponteiro para o item removido da frente da lista. Se a lista estiver vazia, NULL será retornado no valor apontado por Result.

Retornar valor

StorPortInterlockedPopEntrySList 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 removido com êxito da lista ou já está vazio.
STOR_STATUS_INVALID_PARAMETER
Um ponteiro em SListHead ou Result é NULL.

Comentários

O StorPortInterlockedPopEntrySList também retornará STATUS_SUCCESS quando nenhuma entrada estiver na lista. O valor do ponteiro referenciado por Result deve ser avaliado para NULL para verificar se nenhuma entrada foi retornada.

StorPortInterlockedPopEntrySList não libera a entrada de lista retornada. Qualquer código de desalocação para a lista deve ter cuidado com a memória gratuita alocada para uma entrada de lista no local obtido antes de qualquer ajuste para alinhamento de limite. O valor apontado por Result pode não ser o local de buffer original alocado devido a um ajuste para MEMORY_ALLOCATION_ALIGNMENT. Consulte comentários para StorPortInterlockedPushEntrySList.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível em começar com Windows 8.
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL <= DISPATCH_LEVEL

Confira também

StorPortInitializeSListHead

StorPortInterlockedFlushSList

StorPortInterlockedPushEntrySList

StorPortQueryDepthSList