NdisFSendNetBufferListsComplete 함수(ndis.h)

필터 드라이버는 NdisFSendNetBufferListsComplete 함수를 호출하여 NET_BUFFER_LIST 구조체의 연결된 목록을 지나치게 많은 드라이버에 반환하고 보내기 요청의 최종 상태를 반환합니다.

구문

void NdisFSendNetBufferListsComplete(
  [in] NDIS_HANDLE      NdisFilterHandle,
       PNET_BUFFER_LIST NetBufferList,
  [in] ULONG            SendCompleteFlags
);

매개 변수

[in] NdisFilterHandle

이 필터 모듈을 식별하는 NDIS 핸들입니다. NDIS는 FilterAttach 함수 호출에서 필터 드라이버에 핸들을 전달했습니다.

NetBufferList

NET_BUFFER_LIST 구조체의 연결된 목록에 대한 포인터입니다. 필터 드라이버는 FilterSendNetBufferLists 함수에 대한 이전 호출에서 NET_BUFFER_LIST 구조를 수신했습니다.

[in] SendCompleteFlags

OR 작업과 결합할 수 있는 NDIS 플래그입니다. 모든 플래그를 지우려면 이 멤버를 0으로 설정합니다. 이 함수는 다음 플래그를 지원합니다.

NDIS_SEND_COMPLETE_FLAGS_DISPATCH_LEVEL

현재 IRQL이 DISPATCH_LEVEL 지정합니다. 이 플래그에 대한 자세한 내용은 디스패치 IRQL 추적을 참조하세요.

NDIS_SEND_COMPLETE_FLAGS_SWITCH_SINGLE_SOURCE

이 플래그를 설정하면 연결된 NET_BUFFER_LIST 구조 목록의 모든 패킷이 동일한 Hyper-V 확장 가능 스위치 원본 포트에서 시작됩니다.

자세한 내용은 Hyper-V 확장 가능 스위치 보내기 및 받기 플래그를 참조하세요.

참고 연결된 NET_BUFFER_LIST 구조 목록의 각 패킷이 동일한 원본 포트를 사용하는 경우 확장을 통해 요청을 보낼 때 NdisFSendNetBufferListsSendFlags 매개 변수에서 NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE 플래그를 설정해야 합니다.
참고 이 플래그는 NDIS 6.30 이상에서 사용할 수 있습니다.

반환 값

없음

설명

필터 드라이버는 NdisFSendNetBufferListsComplete 함수를 호출하여 NDIS가 드라이버의 FilterSendNetBufferLists 함수에 수행한 보내기 요청을 완료합니다. 필터 드라이버는 완료된 보내기 요청과 연결된 NET_BUFFER_LIST 구조체의 연결된 목록을 지정합니다. 송신 요청의 상태가 보류 중인 동안 필터 드라이버는 NET_BUFFER_LIST 구조체 및 NET_BUFFER_LIST 구조와 연결된 모든 리소스의 소유권 을 유지합니다.

필터 드라이버는 순서에 따라 보내기 요청을 완료할 수 있습니다. 예를 들어 필터 드라이버는 여러 FilterSendNetBufferLists 호출에서 NET_BUFFER_LIST 구조 목록을 연결하거나 FilterSendNetBufferLists 호출에서 목록을 분할할 수 있습니다. 그러나 필터 드라이버는 NET_BUFFER_LIST 구조와 연결된 NET_BUFFER 구조체 목록을 수정해서는 안됩니다.

참고 필터 드라이버는 시작된 전송 요청을 추적하고 요청이 완료되면 NdisFSendNetBufferListsComplete 함수를 호출하지 않는지 확인해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Filter_Driver_Function(ndis)

참고 항목

FilterAttach

FilterSendNetBufferLists

NET_BUFFER

NET_BUFFER_LIST