다음을 통해 공유


NdisInterlockedPushEntrySList 매크로(ndis.h)

NdisInterlockedPushEntrySList 함수는 시퀀싱된 연결 목록의 헤드에 항목을 삽입합니다.

통사론

void NdisInterlockedPushEntrySList(
        SListHead,
        SListEntry,
  [in]  Lock
);

매개 변수

SListHead

지정된 항목을 삽입할 이미 초기화된 시퀀싱된 링크된 목록의 헤드에 대한 포인터입니다.

SListEntry

삽입할 항목에 대한 포인터입니다.

[in] Lock

호출자가 현재 보유하고 있지 않은 호출자 제공 스핀 잠금에 대한 포인터입니다.

반환 값

없음

발언

드라이버가 NdisInterlockedPushEntrySList 함수를 처음 호출하기 전에 다음을 사용하여 목록 헤드를 초기화해야 합니다. NdisInitializeSListHead 함수입니다.

드라이버 NdisInterlockedPushEntrySList호출할 때 지정된 Lock 안 됩니다. 필요한 경우 드라이버는 NdisInterlockedPushEntrySList호출하기 전에 NdisReleaseSpinLock 함수를 호출해야 합니다. NdisInterlockedPushEntrySList 이 작업이 다중 프로세서로부터 안전한 방식으로 처리되도록 목록의 헤드에 ListEntry 삽입하기 전에 이 잠금 자체를 획득해야 합니다.

호출자는 NdisInterlocked에 대한 초기 호출 전에 NdisAllocateSpinLock 함수를 사용하여 초기화해야 하는 Lock대한 상주 스토리지를 제공해야 합니다. SList 루틴입니다.

I/O 작업을 다시 시도하는 드라이버는 이중으로 연결된 연동 큐와 NdisInterlockedInsert/Remove를 사용해야 합니다. S-List 대신 함수를 나열합니다.

NdisInterlockedPushEntrySList IRQL >= DISPATCH_LEVEL 호출되면 ListHead 매개 변수에 대한 스토리지 및 목록 항목이 상주해야 합니다.

요구 사항

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

참고 항목

NdisAllocateSpinLock

NdisFreeSpinLock

NdisInitializeSListHead

NdisInterlockedPopEntrySList

NdisQueryDepthSList

NdisReleaseSpinLock