다음을 통해 공유


중간 드라이버를 통해 네트워크 데이터 전송

중간 드라이버를 미니포트 드라이버로 등록에서 설명한 대로 중간 드라이버는 NdisMRegisterMiniportDriver에 등록할 때 MiniportSendNetBufferLists 함수를 제공해야 합니다. MiniportSendNetBufferLists 함수는 드라이버에 연결 없는 아래쪽 가장자리가 있는 경우 NdisSendNetBufferLists를 호출하여 들어오는 NET_BUFFER_LIST 구조를 전달할 수 있습니다. MiniportSendNetBufferLists 는 기본 미니포트 드라이버의 기능과 관계없이 NdisSendNetBufferLists 를 사용하여 수신하는 NET_BUFFER_LIST 구조 목록을 보낼 수 있습니다.

MiniportSendNetBufferListsNdisSendNetBufferLists의 지나치게 많은 호출자에 의해 결정된 순서대로 정렬된 NET_BUFFER_LIST 구조 목록을 받습니다. 대부분의 경우 중간 드라이버는 들어오는 NET_BUFFER_LIST 구조 배열을 기본 미니포트 드라이버에 전달하므로 이 순서를 유지해야 합니다. 기본 드라이버에 전달하기 전에 네트워크 데이터의 데이터를 수정하는 중간 드라이버는 목록을 다시 정렬할 수 있습니다.

NDIS는 항상 NdisSendNetBufferLists에 연결된 목록으로 전달되는 NET_BUFFER_LIST 구조체 포인터의 순서를 유지합니다. 또한 기본 미니포트 드라이버는 MiniportSendNetBufferLists 함수에 전달되는 목록이 네트워크 데이터를 동일한 순서로 전송해야 한다는 것을 의미한다고 가정합니다.