jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1291回复:0

OID_WAN_GET_INFO和 OID_WAN_SET_LINK_INFO 数据不一致的问题?

楼主#
更多 发布于:2002-03-29 10:14
 typedef struct _NDIS_WAN_INFO {
    OUT ULONG                  MaxFrameSize;
    OUT ULONG                  MaxTransmit;
    OUT ULONG                  HeaderPadding;
    OUT ULONG                  TailPadding;
    OUT ULONG                  Endpoints;
    OUT UINT                   MemoryFlags;
    OUT NDIS_PHYSICAL_ADDRESS  HighestAcceptableAddress;
    OUT ULONG                  FramingBits;
    OUT ULONG                  DesiredACCM;
} NDIS_WAN_INFO, *PNDIS_WAN_INFO;

NDIS_WAN_INFO LineInfo

LineInfo.MaxFrameSize =1500
LineInfo.MaxTransmit  =1
LineInfo.HeaderPadding =0
LineInfo.TailPadding =0
LineInfo.Endpoints =1
LineInfo.MemoryFlags=0
LineInfo.HighestAcceptableAddress =NDIS_PHYSICAL_ADDRESS_CONST(-1,-1)  //0xffffffff 0xffffffff
LineInfo.FramingBits
= TAPI_PROVIDER | PPP_FRAMING  //0x80000100
LineInfo.DesiredACCM =0;

在miniportInitialize 我设定了这些,MiniportQueryInformation 查询的OID_WAN_GET_INFO时候我提交了这些值.
可是在我的硬件连接建立之后,MiniportSetInformation 设置 OID_WAN_SET_LINK_INFO 时却发生如下怪事,
typedef struct _NDIS_WAN_SET_LINK_INFO {
    IN NDIS_HANDLE     NdisLinkHandle;    //正确  
    IN ULONG   MaxSendFrameSize; //为零  不是1500
    IN ULONG   MaxRecvFrameSize; //为零  不是1500
    IN ULONG  HeaderPadding;    //我没有检查
    IN ULONG  TailPadding;      //我没有检查
    IN ULONG  SendFramingBits;  //0x100  不是0x80000100
    IN ULONG  RecvFramingBits;     //0x100 不是0x80000100
    IN ULONG   SendCompressionBits; //我没有检查
    IN ULONG   RecvCompressionBits; //我没有检查
    IN ULONG   SendACCM;           //0xffffffff 不是0
    IN ULONG   RecvACCM;           //0xffffffff 不是
} NDIS_WAN_SET_LINK_INFO, *PNDIS_WAN_SET_LINK_INFO;

为什么会发生这种事情,有谁遇到过类似的问题,还望指点一二,
谢谢!!!


游客

返回顶部