Reputation: 1
core code as below:
void NTAPI devctrl_MACPacketInjectCompletion(netBufferList)
{
KdPrint((DPREFIX"status=%x\n", netBufferList->Status));
}
pFwpsInjectionHandleCreate0(
AF_UNSPEC,
FWPS_INJECTION_TYPE_L2,
&g_macInjectionHandle);
FwpsInjectMacSendAsync0(
g_macInjectionHandle,
NULL,
0,
FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET,
interfaceIndex,
ndisPortNumber,
netBufferList,
devctrl_MACPacketInjectCompletion,
NULL
);
test result, call FwpsInjectMacSendAsync0()
:
FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
, completion buffer status is always 0xc023002a
which is STATUS_NDIS_PAUSED
FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
, evenything works!How to fix FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET send problem?
I don't want to use FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE, because I need to fill 80211 header on wireless nic
Upvotes: 0
Views: 18