ReturnNetBufferListsHandler vs ReceiveNetBufferListsHandler

I wanted to find out the differences between ReturnNetBufferListsHandler and ReceiveNetBufferListsHandler, When does NDIS call these call backs. I have light weight filter which will modify the receiving and send packets on the NIC.