다음을 통해 공유


InsertHeadList 함수(wdm.h)

InsertHeadList 루틴은 LIST_ENTRY 구조체의 이중으로 연결된 목록의 헤드에 항목을 삽입합니다.

구문

void InsertHeadList(
  [in, out] PLIST_ENTRY                  ListHead,
  [in, out] __drv_aliasesMem PLIST_ENTRY Entry
);

매개 변수

[in, out] ListHead

목록의 헤드를 나타내는 LIST_ENTRY 구조체에 대한 포인터입니다.

[in, out] Entry

목록에 삽입할 항목을 나타내는 LIST_ENTRY 구조체에 대한 포인터입니다.

반환 값

없음

설명

InsertHeadListListHead-Flink>를 업데이트하여 항목을 가리킵니. 목록의 이전 첫 번째 항목을 가리키도록 Entry-Flink>를 업데이트하고 Entry-Blink> 를 ListHead로 설정합니다. 원래 첫 번째 항목의 Blink 필드도 항목을 가리키도록 업데이트 됩니다.

이중으로 연결된 목록을 구현할 때 이 루틴을 사용하는 방법에 대한 자세한 내용은 Singly 및 두 배로 연결된 Lists.

InsertHeadList의 호출자는 모든 IRQL에서 실행할 수 있습니다. IRQL >= DISPATCH_LEVEL InsertHeadList가 호출되면 ListHead 및 목록 항목에 대한 스토리지가 상주해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 wdm.h(Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h 포함)
IRQL 모든 수준(설명 섹션 참조)
DDI 규정 준수 규칙 IoAllocateFree(wdm), IoReuseIrp(wdm), MarkingQueuedIrps(wdm), RemoveLockCheck(wdm), RemoveLockForward(wdm), RemoveLockForward2(wdm), RemoveLockForwardDeviceControl(wdm), RemoveLockForwardDeviceControl2(wdm), RemoveLockForwardDeviceControlInternal(wdm), RemoveLockForwardDeviceControlInternal2(wdm), RemoveLockForwardRead2(wdm), RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), RemoveLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockReleasePower(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

추가 정보

ExInterlockedInsertHeadList

InitializeListHead

InsertTailList

IsListEmpty

RemoveHeadList

RemoveTailList