_INTERMEDIATE_BUFFER

struct _INTERMEDIATE_BUFFER
{
	LIST_ENTRY		m_qLink;
	ULONG			m_dwDeviceFlags;
	ULONG			m_Length;
	ULONG			m_Flags; // NDIS_PACKET flags
	ULONG			m_8021q; // 802.1q info
	ULONG			m_FilterID;
	ULONG			m_Reserved[4];
	UCHAR			m_IBuffer [MAX_ETHER_FRAME];
};

m_qLink
Used by helper driver internally. You are welcome to use this field for your own purposes.

m_dwDeviceFlags
This field must be a PACKET_FLAG_ON_SEND if the packet was intercepted from MSTCP or PACKET_FLAG_ON_RECEIVE if the packet was intercepted from the network interface.

m_Length
The length of the packet in the m_IBuffer.

m_Flags
This field can be a combination of the NDIS_FLAGS_XXX (defined in ndis.h)

m_8021q
802.1q VLAN Tag

m_FilterID
Filter ID value for incoming packets specifies the filter index which redirected the packet for processing. Default value is (-1).

m_Reserved[4]
Reserved for future use

m_IBuffer
This field contains the raw Ethernet packet.