다음을 통해 공유


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

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

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

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