BOOL CNdisApi::ReadPacket (PETH_REQUEST pPacket);
TRUE if call was successful,
Pointer to the user allocated and initialized ETH_REQUEST structure.
For this call the following fields of ETH_REQUEST must be initialized:
ETH_REQUEST::hAdapterHandlemust be set to the interface handle (obtained via call to CNdisApi::GetTcpipBoundAdaptersInfo). The packet will be extracted from the network interface associated packet queue. Remember that packets queued only when network interface is in the filter mode.
ETH_REQUEST::EthPacket.Buffermust point to the user allocated INTERMEDIATE_BUFFER structure
The following fields of the
INTERMEDIATE_BUFFER are initialized by helper driver in case of success:
INTERMEDIATE_BUFFER::m_IBuffercontains Ethernet packet
INTERMEDIATE_BUFFER::m_Lengthcontains the actual length of the packet
INTERMEDIATE_BUFFER::m_Flagsis a combination of
NDIS_FLAGS_XXX(defined in ndis.h). These flags are copied from the
PACKET_FLAG_ON_SENDif packet goes from MSTCP to network interface, or
This member calls the filter driver with
IOCTL_NDISRD_READ_PACKET control code (see details below).