NDIS5 and ProtocolReceive

Hello All,

We have a NDIS5 based IM driver which is working fine on most of system(Below Vista). But having issue with old NIC driver.
In this IM driver, we have provided PtReceive handler only. (PtReceivePacket is not provided).
Following are queries:

  1. If LookAheadBufferSize & PacketSize are same and NdisGetReceivedPacket() returns valid packet, whether I indicate the data above by calling
    NdisMIndicateReceivePacket() or medium specific call like NdisMEthIndicateReceive()?
  2. If NdisGetReceivedPacket() returns NULL, Can I indicate data to above driver by constructing new packet and calling NdisMIndicateReceivePacket()?
  3. If the driver below indicates packet, I am constructing new packet(and packet buffer also) from received packet and indicating this new packet above.
    Here should I set original packet to return value of NDIS_GET_ORIGINAL_PACKET(pass packet from NdisGetReceivedPacket())?