다음을 통해 공유


NdisInitializeListHead 매크로(ndis.h)

NdisInitializeListHead 함수는 두 배로 연결된 드라이버 유지 관리 큐를 초기화합니다.

통사론

void NdisInitializeListHead(
  [in]  _ListHead
);

매개 변수

[in] _ListHead

연동된 큐 또는 목록의 헤드에 대한 드라이버 할당 비페이지 스토리지에 대한 포인터입니다.

반환 값

없음

발언

NdisInitializeListHeadMiniportInitializeEx 함수 또는 드라이버 큐가 내부적으로 요청하는 경우 프로토콜 드라이버의 DriverEntry 루틴에서 호출할 수 있습니다. 그러나 미니포트 드라이버는 NDIS 라이브러리가 미니포트 드라이버로 전송된 요청 및 패킷을 직렬화하기 때문에 내부 큐를 설정하지 않습니다.

내부 큐를 유지 관리하는 모든 NDIS 드라이버는 드라이버 함수의 액세스를 큐에 대기 중인 항목에 동기화하는 작업을 담당합니다. NdisInterlockedXxxList 함수는 드라이버가 다중 프로세서 컴퓨터에서 실행 중인 경우에도 큐가 호출자 제공 스핀 잠금으로 보호되기 때문에 특정 순간에 하나의 드라이버 함수만 대기 중인 항목에 액세스할 수 있도록 합니다.

연동된 큐의 경우 드라이버는 스핀 잠금에 대해 페이지가 없는 스토리지를 제공해야 합니다. NdisAllocateSpinLock 함수를 사용하여 스핀 잠금을 초기화한 후 NdisInterlockedXxxList 함수에 포인터를 전달해야 합니다.

NdisInitializeListHead 호출자는 모든 IRQL에서 실행할 수 있습니다. NdisInitializeListHead IRQL >= DISPATCH_LEVEL ListHead 대한 스토리지가 상주해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisInitializeListHead(NDIS 5.1 참조)에 대해 지원됩니다. Windows XP에서 NDIS 5.1 드라이버(NdisInitializeListHead(NDIS 5.1) 참조)에 대해 지원됩니다.
대상 플랫폼 바탕 화면
헤더 ndis.h(Ndis.h 포함)
IRQL 모든 수준(설명 섹션 참조)

참고 항목

NDIS 프로토콜 드라이버 DriverEntry

MiniportInitializeEx

NdisAllocateSpinLock

NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList