다음을 통해 공유


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 구조체에 대한 포인터입니다.

반환 값

없음

발언

InsertHeadList 업데이트 ListHead- 항목가리키는>Flink. 항목업데이트합니다.>Flink 목록에서 이전 첫 번째 항목을 가리키고 항목설정합니다.>BlinkListHead. 원래 첫 번째 항목의 Blink 필드도 항목가리키도록 업데이트됩니다.

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

InsertHeadList 호출자는 모든 IRQL에서 실행할 수 있습니다. InsertHeadList IRQL >= DISPATCH_LEVEL 호출되는 경우 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), RemoveLockForwardRead(wdm), RemoveLockForwardRead2(wdm), RemoveLockForwardWrite(wdm), RemoveLockForwardWrite2(wdm), RemoveLockRelease2(wdm), RemoveLockReleaseCleanup(wdm), RemoveLockReleaseClose(wdm), RemoveLockReleaseCreate(wdm), removeLockReleaseDeviceControl(wdm), RemoveLockReleaseInternalDeviceControl(wdm), RemoveLockRe wdm(wdm), RemoveLockReleaseRead(wdm), RemoveLockReleaseShutdown(wdm), RemoveLockReleaseSystemControl(wdm), RemoveLockReleaseWrite(wdm)

참고 항목

exInterlockedInsertHeadList

InitializeListHead

InsertTailList

isListEmpty

RemoveHeadList

RemoveTailList