2017-01-25 4 views

답변

0

LWF는 NIC 드라이버와 프로토콜 드라이버 (TCPIP와 같은) 사이에 위치합니다. LWF는 수신 (Rx) 경로 인 전송 (Tx) &을 가로 챌 수 있습니다.

Tx 프로토콜이 패킷을 보낼 때마다 필터의 FilterSendNetBufferLists 처리기가 패킷을 가져옵니다. 프로토콜의 패킷 처리가 끝나면 NdisFSendNetBufferListsComplete를 호출하여 다시 프로토콜로 되돌립니다.

패킷을 NIC 드라이버로 전송하려면 NdisFSendNetBufferLists를 호출하십시오. NIC 드라이버가 Tx 패킷으로 완료되면 필터의 FilterSendNetBufferListsComplete 처리기가 호출됩니다. 전형적인 통과 필터

후, 이벤트의 순서는 다음과 같습니다

1. FilterSendNetBufferLists 2. NdisFSendNetBufferLists 3. FilterSendNetBufferListsComplete 4. NdisFSendNetBufferListsComplete

를 RX 들어 때마다 NIC가 수신을 나타내면 필터의 FilterReceiveNetBufferLists 핸들러가 패킷을 가져옵니다. NIC 패킷이 끝나면 NdisFReturnNetBufferLists를 호출하십시오. 외! 특별한 NDIS_RECIEVE_FLAG_RESOURCES 플래그가 설정되어있는 경우.

프로토콜 수신을 나타내려면 NdisFIndicateReceiveNetBufferLists를 호출하십시오. 프로토콜로 패킷을 처리하면 FilterReturnNetBufferLists 핸들러가 호출됩니다. 전형적인 통과 필터

가, 다음, 이벤트의 순서는 다음과 같습니다

1. FilterReceiveNetBufferLists 2. NdisFIndicateReceiveNetBufferLists 3. FilterReturnNetBufferLists 4. NdisFReturnNetBufferLists

+0

감사 제프리, 그것은 정말로 나를 도와줍니다 LWF의 TX 및 RX 경로를 이해하십시오. – Rami

+0

안녕하세요 제프리,이 질문에 대한 답변을 기다리는 Net Buffer Data에 관한 다른 질문이 있습니다. [링크] (http://stackoverflow.com/questions/41982378/net-buffer-list-re-packaging-light-weight-filter-driver) – Rami

관련 문제