Compartir a través de


Función RemoveHeadList (wdm.h)

La rutina RemoveHeadList quita una entrada del principio de una lista doblemente vinculada de estructuras LIST_ENTRY .

Sintaxis

PLIST_ENTRY RemoveHeadList(
  [in, out] PLIST_ENTRY ListHead
);

Parámetros

[in, out] ListHead

Puntero a la estructura LIST_ENTRY que actúa como encabezado de lista.

Valor devuelto

RemoveHeadList devuelve un puntero a la entrada quitada de la lista. Si la lista está vacía, RemoveHeadList devuelve ListHead.

Comentarios

RemoveHeadList quita la primera entrada de la lista estableciendo ListHead-Flink> para que apunte a la segunda entrada de la lista. La rutina establece el miembro Blink de la segunda entrada en ListHead. En caso de que la lista esté vacía, esto es realmente no operativo.

Para obtener información sobre el uso de esta rutina al implementar una lista vinculada doblemente, consulte Singly and Duplicay Linked Listas.

Los autores de llamadas de RemoveHeadList se pueden ejecutar en cualquier IRQL. Si se llama a RemoveHeadList en IRQL >= DISPATCH_LEVEL, el almacenamiento de ListHead y las entradas de lista deben estar residentes.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Escritorio
Encabezado wdm.h (incluye Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h)
IRQL Cualquier nivel (consulte la sección Comentarios)
Reglas de cumplimiento de DDI CancelSpinLock(wdm), CompleteRequest(wdm), DoubleCompletion(wdm), DoubleExFreePool(storport), Init_NdisAllocateIoWorkItem(ndis), InvalidReqAccessLocal(kmdf), IoAllocateFree(wdm), IoReuseIrp(wdm), IrpProcessingComplete(wdm), MarkInterlockedQueuedIrps(wdm), MarkQueuedIrps(wdm), MarkIrpPending(wdm), MarkIrpPending2(wdm), PendedCompletedRequest(wdm), PendedCompletedRequest2(wdm), PendedCompletedRequest3(wdm), PendedCompletedRequestEx(wdm), RemoveLock(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm), RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockMnRemove(wdm), RemoveLockMnSurpriseRemove(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePnp(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

Consulte también

ExInterlockedRemoveHeadList

InitializeListHead

IsListEmpty

RemoveEntryList

RemoveTailList