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 대신 함수를 나열합니다.
IRQL >= DISPATCH_LEVEL NdisInterlockedPushEntrySList가 호출되면 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 | 모든 수준 |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기