미니포트 드라이버에서 보내기 요청 취소
다음 그림에서는 미니포트 드라이버 취소 송신 작업을 보여 줍니다.
프로토콜, 필터 및 중간 드라이버는 NdisCancelSendNetBufferLists 를 호출하여 미해결 송신 요청을 취소할 수 있습니다. 이러한 지나치게 많은 드라이버는 보내기 요청을 하기 전에 송신 데이터를 취소 ID로 표시해야 합니다.
NDIS는 미니포트 드라이버의 MiniportCancelSend 함수를 호출하여 지정된 취소 식별자로 표시된 모든 NET_BUFFER_LIST 구조체의 전송을 취소합니다.
미니포트 드라이버의 MiniportCancelSend 함수는 다음 작업을 수행합니다.
지정된 어댑터에 대한 미해결 송신 요청 목록을 트래버스하고 NDIS_GET_NET_BUFFER_LIST_CANCEL_ID 호출하여 각 NET_BUFFER_LIST 구조에 대한 취소 식별자를 가져옵니다. 미니포트 드라이버는 NDIS_GET_NET_BUFFER_LIST_CANCEL_ID 반환하는 취소 ID와 NDIS가 MiniportCancelSend에 전달한 취소 ID를 비교합니다.
취소 식별자가 미해결 송신 요청 목록에서 지정된 취소 식별자와 일치하는 모든 NET_BUFFER_LIST 구조에서 제거합니다.
취소된 모든 NET_BUFFER_LIST 구조체에 대해 NdisMSendNetBufferListsComplete 함수를 호출하여 구조를 반환합니다. 미니포트 드라이버는 NET_BUFFER_LIST 구조체의 상태 필드를 NDIS_STATUS_SEND_ABORTED 설정합니다.