ndis怎样将网卡设置为混杂模式? ndis怎样将网卡设置为混杂模式?(不用packet32包实现) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 NDIS_STATUSMPSetInformation( IN NDIS_HANDLE MiniportAdapterContext,IN NDIS_OID Oid,IN PVOID InformationBuffer,IN ULONG InformationBufferLength,OUT PULONG BytesRead,OUT PULONG BytesNeeded){}//// 设置驱动或者网卡的性能和状态这个函数中加入下面一段代码://要使用ExAllocatePool函数得在#include <ndis.h>前加入#define NDIS_WDM 1,//////1.广播模式 NDIS_PACKET_TYPE_BROADCAST //2.多播模式 NDIS_PACKET_TYPE_MULTICAST //3.直接模式 NDIS_PACKET_TYPE_DIRECTED //4.混杂模式 NDIS_PACKET_TYPE_PROMISCUOUS // 各种模式之间用'|'连接//#define NDIS_WDM 1 #include <ndis.h>NDIS_STATUS st;NDIS_REQUEST *pRequest;NDIS_OID oiddata;oiddata=NDIS_PACKET_TYPE_PROMISCUOUS;/*设置为混杂模式*/pRequest=ExAllocatePool(NonPagedPool,sizeof(NDIS_REQUEST));//分配内存if(NULL==pRequest){DBGPRINT("Can not allocate buffer for requestn");}pRequest->RequestType=NdisRequestSetInformation;//设置请求命令pRequest->DATA.SET_INFORMATION.Oid=OID_GEN_CURRENT_PACKET_FILTER;pRequest->DATA.SET_INFORMATION.InformationBuffer=&oiddata;pRequest->DATA.SET_INFORMATION.InformationBufferLength=sizeof(NDIS_OID);NdisRequest(&st,pAdapt->BindingHandle,pRequest);//发送请求if(st!=NDIS_STATUS_PENDING){if(pRequest){DBGPRINT("Free request\n");ExFreePool(pRequest);}} IE9子类化窗口重绘问题 如何用边标志法对多边形填充字符“0208”? 【求助】Socket有线和无线网络编程问题,同一个程序,有线能用,无线不行。各位大神内详~ CTreeCtrl中如何为结点加入图标?(在线) matlab和opengl是不是有冲突?? 关于改变按钮颜色问题!!! 来者有分(200分)不够再加!!! 高分求助图象分析问题!!如果回答出来可以再加分。 vc下ado绑定数据问题 再次提问:atl组件怎么输出多个接口 依然是List Control自动换行的问题 如何在html 中加载word 文档? CheckBox选中时如何呈X,而非V?
MPSetInformation(
IN NDIS_HANDLE MiniportAdapterContext,
IN NDIS_OID Oid,
IN PVOID InformationBuffer,
IN ULONG InformationBufferLength,
OUT PULONG BytesRead,
OUT PULONG BytesNeeded
)
{
}//
// 设置驱动或者网卡的性能和状态这个函数中加入下面一段代码:
//要使用ExAllocatePool函数得在#include <ndis.h>前加入#define NDIS_WDM 1,
////
//1.广播模式 NDIS_PACKET_TYPE_BROADCAST
//2.多播模式 NDIS_PACKET_TYPE_MULTICAST
//3.直接模式 NDIS_PACKET_TYPE_DIRECTED
//4.混杂模式 NDIS_PACKET_TYPE_PROMISCUOUS
// 各种模式之间用'|'连接
//#define NDIS_WDM 1
#include <ndis.h>NDIS_STATUS st;
NDIS_REQUEST *pRequest;
NDIS_OID oiddata;oiddata=NDIS_PACKET_TYPE_PROMISCUOUS;/*设置为混杂模式*/
pRequest=ExAllocatePool(NonPagedPool,sizeof(NDIS_REQUEST));//分配内存
if(NULL==pRequest)
{
DBGPRINT("Can not allocate buffer for requestn");
}
pRequest->RequestType=NdisRequestSetInformation;//设置请求命令
pRequest->DATA.SET_INFORMATION.Oid=OID_GEN_CURRENT_PACKET_FILTER;
pRequest->DATA.SET_INFORMATION.InformationBuffer=&oiddata;
pRequest->DATA.SET_INFORMATION.InformationBufferLength=sizeof(NDIS_OID);NdisRequest(&st,pAdapt->BindingHandle,pRequest);//发送请求
if(st!=NDIS_STATUS_PENDING)
{
if(pRequest){
DBGPRINT("Free request\n");
ExFreePool(pRequest);
}
}