BOOL CNdisApi::SendPacketsToAdapter ( PETH_REQUEST pPacket );
Return Value:TRUE
if call was successful, FALSE
otherwise
Parameters:pPacket
Pointer to the user allocated and initialized ETH_M_REQUEST structure.
Remarks:
The following fields of ETH_M_REQUEST must be initialized:
ETH_M_REQUEST.hAdapterHandle
must be set to the interface handle (obtained via call to CNdisApi::GetTcpipBoundAdaptersInfo) to which you would like to send packets.ETH_M_REQUEST.dwPacketsNumber
must be set to the number of initializedNDISRD_ETH_Packet
structures inEthPacket
arrayETH_M_REQUEST.EthPacket[].Buffer
must point to the user allocated and initialized INTERMEDIATE_BUFFER structure
The following fields of the INTERMEDIATE_BUFFER should be initialized:
INTERMEDIATE_BUFFER.m_IBuffer
should contain Ethernet packetINTERMEDIATE_BUFFER.m_Length
should be initialized to the actual length of the packetINTERMEDIATE_BUFFER.m_Flags
should be initialized by combination ofNDIS_FLAGS_XXX
(defined in ndis.h). Look at these flags for details. Note, that these flags usually don’t work for the old NDIS versions.
This member calls the filter driver with IOCTL_NDISRD_SEND_PACKETS_TO_ADAPTER
control code (see details below).
IOCTL_NDISRD_SEND_PACKETS_TO_ADAPTER
Input Buffer | _ETH_M_REQUEST |
Input Buffer Size | sizeof (_ETH_M_REQUEST) |
Output Buffer | None |
Output Buffer Size | 0 |