ReadPacket
BOOL
ReadPacket ( HANDLE hOpen,
PETH_REQUEST pPacket
);
Return Value:
TRUE if call was
successful, FALSE otherwise
Parameters:
hOpen
Specifies driver
object open handle.
pPacket
Pointer to the user
allocated and initialized ETH_REQUEST structure.
Remarks:
This member is a
simple wrapper for IOCTL_NDISRD_READ_PACKET. For
this call the following fields of ETH_REQUEST must be
initialized:
- ETH_REQUEST.hAdapterHandle
must 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 in the filtering of
listening mode.
- ETH_REQUEST.EthPacket.Buffer
must 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_IBuffer
contains Ethernet packet
- INTERMEDIATE_BUFFER.m_Length
contains the actual length of the packet
- INTERMEDIATE_BUFFER.m_Flags
is a combination of NDIS_FLAGS_XXX (defined in ndis.h). These flags
are copied from the NDIS_PACKET.Private.Flags.
- INTERMEDIATE_BUFFER.m_dwDeviceFlags
is PACKET_FLAG_ON_SEND if packet goes from MSTCP to network
interface or PACKET_FLAG_ON_RECEIVE otherwise.
|