亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mp_req.c

?? Intel EtherExpressTM PRO/100+ Ethernet 網卡在Windows2000/xp下的PCI驅動程序源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
            ulInfo = NIC_MAX_MCAST_LIST;
            break;

        case OID_GEN_MAXIMUM_SEND_PACKETS:
            ulInfo = NIC_MAX_SEND_PACKETS;
            break;

        case OID_PNP_CAPABILITIES:

            MPFillPoMgmtCaps (Adapter, 
                                &Power_Management_Capabilities, 
                                &Status,
                                &ulInfoLen);
            if (Status == NDIS_STATUS_SUCCESS)
            {
                pInfo = (PVOID) &Power_Management_Capabilities;
            }
            else
            {
                pInfo = NULL;
            }

            break;

        case OID_PNP_QUERY_POWER:
            // Status is pre-set in this routine to Success

            Status = NDIS_STATUS_SUCCESS; 

            break;

            // WMI support
        case OID_CUSTOM_DRIVER_QUERY:
            // this is the uint case
            DBGPRINT(MP_INFO,("CUSTOM_DRIVER_QUERY got a QUERY\n"));
            ulInfo = ++Adapter->CustomDriverSet;
            break;

        case OID_CUSTOM_DRIVER_SET:
            DBGPRINT(MP_INFO,("CUSTOM_DRIVER_SET got a QUERY\n"));
            ulInfo = Adapter->CustomDriverSet;
            break;

            // this is the array case
        case OID_CUSTOM_ARRAY:
            DBGPRINT(MP_INFO,("CUSTOM_ARRAY got a QUERY\n"));
            NdisMoveMemory(&ulInfo, Adapter->PermanentAddress, 4);
            break;

            // this is the string case
        case OID_CUSTOM_STRING:
            DBGPRINT(MP_INFO, ("CUSTOM_STRING got a QUERY\n"));
            pInfo = (PVOID) VendorDesc;
            ulBytesAvailable = ulInfoLen = sizeof(VendorDesc);
            break;

        case OID_GEN_XMIT_OK:
        case OID_GEN_RCV_OK:
        case OID_GEN_XMIT_ERROR:
        case OID_GEN_RCV_ERROR:
        case OID_GEN_RCV_NO_BUFFER:
        case OID_GEN_RCV_CRC_ERROR:
        case OID_GEN_TRANSMIT_QUEUE_LENGTH:
        case OID_802_3_RCV_ERROR_ALIGNMENT:
        case OID_802_3_XMIT_ONE_COLLISION:
        case OID_802_3_XMIT_MORE_COLLISIONS:
        case OID_802_3_XMIT_DEFERRED:
        case OID_802_3_XMIT_MAX_COLLISIONS:
        case OID_802_3_RCV_OVERRUN:
        case OID_802_3_XMIT_UNDERRUN:
        case OID_802_3_XMIT_HEARTBEAT_FAILURE:
        case OID_802_3_XMIT_TIMES_CRS_LOST:
        case OID_802_3_XMIT_LATE_COLLISIONS:
            Status = NICGetStatsCounters(Adapter, Oid, &ul64Info);
            ulBytesAvailable = ulInfoLen = sizeof(ul64Info);
            if (Status == NDIS_STATUS_SUCCESS)
            {
                if (InformationBufferLength < sizeof(ULONG))
                {
                    Status = NDIS_STATUS_BUFFER_TOO_SHORT;
                    *BytesNeeded = ulBytesAvailable;
                    break;
                }

                ulInfoLen = MIN(InformationBufferLength, ulBytesAvailable);
                pInfo = &ul64Info;
            }
                    
            break;         
            
        default:
            Status = NDIS_STATUS_NOT_SUPPORTED;
            break;
    }

    if (Status == NDIS_STATUS_SUCCESS)
    {
        *BytesNeeded = ulBytesAvailable;
        if (ulInfoLen <= InformationBufferLength)
        {
            //
            // Copy result into InformationBuffer
            //
            *BytesWritten = ulInfoLen;
            if (ulInfoLen)
            {
                NdisMoveMemory(InformationBuffer, pInfo, ulInfoLen);
            }
        }
        else
        {
            //
            // too short
            //
            *BytesNeeded = ulInfoLen;
            Status = NDIS_STATUS_BUFFER_TOO_SHORT;
        }
    }

    DBGPRINT(MP_TRACE, ("<==== MPQueryInformation, OID=0x%08x, Status=%x\n", Oid, Status));

    return(Status);
}   

NDIS_STATUS NICGetStatsCounters(
    IN  PMP_ADAPTER  Adapter, 
    IN  NDIS_OID     Oid,
    OUT PULONG64     pCounter
    )
/*++
Routine Description:

    Get the value for a statistics OID

Arguments:

    Adapter     Pointer to our adapter 
    Oid         Self-explanatory   
    pCounter    Pointer to receive the value
    
Return Value:

    NDIS_STATUS_SUCCESS
    NDIS_STATUS_NOT_SUPPORTED
    
--*/
{
    NDIS_STATUS     Status = NDIS_STATUS_SUCCESS;

    DBGPRINT(MP_TRACE, ("--> NICGetStatsCounters\n"));

    *pCounter = 0; 

    DumpStatsCounters(Adapter);
            
    switch(Oid)
    {
        case OID_GEN_XMIT_OK:
            *pCounter = Adapter->GoodTransmits;
            break;

        case OID_GEN_RCV_OK:
            *pCounter = Adapter->GoodReceives;
            break;

        case OID_GEN_XMIT_ERROR:
            *pCounter = Adapter->TxAbortExcessCollisions +
                        Adapter->TxDmaUnderrun +
                        Adapter->TxLostCRS +
                        Adapter->TxLateCollisions;
            break;

        case OID_GEN_RCV_ERROR:
            *pCounter = Adapter->RcvCrcErrors +
                        Adapter->RcvAlignmentErrors +
                        Adapter->RcvResourceErrors +
                        Adapter->RcvDmaOverrunErrors +
                        Adapter->RcvRuntErrors;
            break;

        case OID_GEN_RCV_NO_BUFFER:
            *pCounter = Adapter->RcvResourceErrors;
            break;

        case OID_GEN_RCV_CRC_ERROR:
            *pCounter = Adapter->RcvCrcErrors;
            break;

        case OID_GEN_TRANSMIT_QUEUE_LENGTH:
            *pCounter = Adapter->nWaitSend;
            break;

        case OID_802_3_RCV_ERROR_ALIGNMENT:
            *pCounter = Adapter->RcvAlignmentErrors;
            break;

        case OID_802_3_XMIT_ONE_COLLISION:
            *pCounter = Adapter->OneRetry;
            break;

        case OID_802_3_XMIT_MORE_COLLISIONS:
            *pCounter = Adapter->MoreThanOneRetry;
            break;

        case OID_802_3_XMIT_DEFERRED:
            *pCounter = Adapter->TxOKButDeferred;
            break;

        case OID_802_3_XMIT_MAX_COLLISIONS:
            *pCounter = Adapter->TxAbortExcessCollisions;
            break;

        case OID_802_3_RCV_OVERRUN:
            *pCounter = Adapter->RcvDmaOverrunErrors;
            break;

        case OID_802_3_XMIT_UNDERRUN:
            *pCounter = Adapter->TxDmaUnderrun;
            break;

        case OID_802_3_XMIT_HEARTBEAT_FAILURE:
            *pCounter = Adapter->TxLostCRS;
            break;

        case OID_802_3_XMIT_TIMES_CRS_LOST:
            *pCounter = Adapter->TxLostCRS;
            break;

        case OID_802_3_XMIT_LATE_COLLISIONS:
            *pCounter = Adapter->TxLateCollisions;
            break;

        default:
            Status = NDIS_STATUS_NOT_SUPPORTED;
            break;
    }

    DBGPRINT(MP_TRACE, ("<-- NICGetStatsCounters\n"));

    return(Status);
}

NDIS_STATUS NICSetPacketFilter(
    IN PMP_ADAPTER Adapter,
    IN ULONG PacketFilter
    )
/*++
Routine Description:

    This routine will set up the adapter so that it accepts packets 
    that match the specified packet filter.  The only filter bits   
    that can truly be toggled are for broadcast and promiscuous     

Arguments:
    
    Adapter         Pointer to our adapter
    PacketFilter    The new packet filter 
    
Return Value:

    NDIS_STATUS_SUCCESS
    NDIS_STATUS_NOT_SUPPORTED
    
--*/
{
    NDIS_STATUS     Status = NDIS_STATUS_SUCCESS;
    UCHAR           NewParameterField;
    UINT            i;
    BOOLEAN         bResult;

    DBGPRINT(MP_TRACE, ("--> NICSetPacketFilter, PacketFilter=%08x\n", PacketFilter));

    //
    // Need to enable or disable broadcast and promiscuous support depending
    // on the new filter
    //
    NewParameterField = CB_557_CFIG_DEFAULT_PARM15;

    if (PacketFilter & NDIS_PACKET_TYPE_BROADCAST) 
    {
        NewParameterField &= ~CB_CFIG_BROADCAST_DIS;
    }
    else 
    {
        NewParameterField |= CB_CFIG_BROADCAST_DIS;
    }

    if (PacketFilter & NDIS_PACKET_TYPE_PROMISCUOUS) 
    {
        NewParameterField |= CB_CFIG_PROMISCUOUS;
    }
    else 
    {
        NewParameterField &= ~CB_CFIG_PROMISCUOUS;
    }

    do
    {
        if ((Adapter->OldParameterField == NewParameterField ) &&
            !(PacketFilter & NDIS_PACKET_TYPE_ALL_MULTICAST))
        {
            break;
        }

        //
        // Only need to do something to the HW if the filter bits have changed.
        //
        Adapter->OldParameterField = NewParameterField;
        ((PCB_HEADER_STRUC)Adapter->NonTxCmdBlock)->CbCommand = CB_CONFIGURE;
        ((PCB_HEADER_STRUC)Adapter->NonTxCmdBlock)->CbStatus = 0;
        ((PCB_HEADER_STRUC)Adapter->NonTxCmdBlock)->CbLinkPointer = DRIVER_NULL;

        //
        // First fill in the static (end user can't change) config bytes
        //
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[0] = CB_557_CFIG_DEFAULT_PARM0;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[2] = CB_557_CFIG_DEFAULT_PARM2;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[3] = CB_557_CFIG_DEFAULT_PARM3;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[6] = CB_557_CFIG_DEFAULT_PARM6;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[9] = CB_557_CFIG_DEFAULT_PARM9;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[10] = CB_557_CFIG_DEFAULT_PARM10;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[11] = CB_557_CFIG_DEFAULT_PARM11;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[12] = CB_557_CFIG_DEFAULT_PARM12;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[13] = CB_557_CFIG_DEFAULT_PARM13;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[14] = CB_557_CFIG_DEFAULT_PARM14;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[16] = CB_557_CFIG_DEFAULT_PARM16;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[17] = CB_557_CFIG_DEFAULT_PARM17;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[18] = CB_557_CFIG_DEFAULT_PARM18;
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[20] = CB_557_CFIG_DEFAULT_PARM20;

        //
        // Set the Tx underrun retries
        //
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[7] =
            (UCHAR) (CB_557_CFIG_DEFAULT_PARM7 | (Adapter->AiUnderrunRetry << 1));

        //
        // Set the Tx and Rx Fifo limits
        //
        Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[1] =
            (UCHAR) ((Adapter->AiTxFifo << 4) | Adapter->AiRxFifo);

        //
        // set the MWI enable bit if needed
        //
        if (Adapter->MWIEnable)
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[3] |= CB_CFIG_B3_MWI_ENABLE;

        //
        // Set the Tx and Rx DMA maximum byte count fields.
        //
        if ((Adapter->AiRxDmaCount) || (Adapter->AiTxDmaCount))
        {
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[4] =
                Adapter->AiRxDmaCount;
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[5] =
                (UCHAR) (Adapter->AiTxDmaCount | CB_CFIG_DMBC_EN);
        }
        else
        {
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[4] =
                CB_557_CFIG_DEFAULT_PARM4;
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[5] =
                CB_557_CFIG_DEFAULT_PARM5;
        }

        //
        // Setup for MII or 503 operation.  The CRS+CDT bit should only be
        // set when operating in 503 mode.
        //
        if (Adapter->PhyAddress == 32)
        {
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[8] =
                (CB_557_CFIG_DEFAULT_PARM8 & (~CB_CFIG_503_MII));
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[15] =
                (UCHAR) (NewParameterField | CB_CFIG_CRS_OR_CDT);
        }
        else
        {
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[8] =
                (CB_557_CFIG_DEFAULT_PARM8 | CB_CFIG_503_MII);
            Adapter->NonTxCmdBlock->NonTxCb.Config.ConfigBytes[15] =

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀| 一区二区三区四区在线免费观看| 丝袜美腿成人在线| 欧美日韩国产bt| 免费日韩伦理电影| 精品久久久网站| 成人污污视频在线观看| 成人欧美一区二区三区白人| 一本到一区二区三区| 亚洲午夜一区二区| 91麻豆精品国产91久久久久久久久 | 国产精品欧美一区喷水| 成人性生交大合| 亚洲精品乱码久久久久| 在线播放中文字幕一区| 狠狠色2019综合网| 亚洲另类色综合网站| 欧美久久久久中文字幕| 韩国欧美国产一区| 亚洲日本护士毛茸茸| 正在播放一区二区| 国产精品夜夜嗨| 亚洲国产欧美另类丝袜| 精品国产乱码久久久久久免费| 高清不卡在线观看| 午夜不卡在线视频| 国产欧美日韩卡一| 91精品国产综合久久久久久久| 国产精品1区2区| 亚洲一区二区av在线| 精品粉嫩超白一线天av| 色婷婷综合中文久久一本| 麻豆91在线看| 亚洲一二三级电影| 国产精品免费视频一区| 欧美日韩大陆在线| 99精品久久久久久| 极品尤物av久久免费看| 亚洲一线二线三线久久久| 久久久久久久久久看片| 欧美日韩国产免费| av男人天堂一区| 久久精品免费看| 亚洲国产另类精品专区| 国产精品欧美一区喷水| 精品国产乱子伦一区| 欧美在线视频不卡| av亚洲产国偷v产偷v自拍| 国产在线一区二区| 人人爽香蕉精品| 一区二区三区电影在线播| 国产日产精品1区| 555www色欧美视频| 色就色 综合激情| 国产99久久久久| 久久电影网站中文字幕| 天天色综合天天| 亚洲精品视频自拍| 国产精品久久影院| 国产日韩欧美精品在线| 精品国产免费人成电影在线观看四季| 欧美日韩视频不卡| 91久久精品一区二区三| 97se亚洲国产综合自在线| 精品在线一区二区三区| 日本伊人色综合网| 日韩av二区在线播放| 亚洲综合激情小说| 亚洲另类春色国产| 亚洲另类在线制服丝袜| 日韩美女啊v在线免费观看| 欧美激情一区二区| 亚洲国产精品精华液2区45| 久久久亚洲国产美女国产盗摄 | 欧美日韩国产综合一区二区| 一本一道波多野结衣一区二区| 成人免费va视频| 99久久免费国产| 91麻豆国产自产在线观看| www.成人在线| 97精品电影院| 在线观看91精品国产入口| 色婷婷国产精品| 欧美丝袜丝交足nylons图片| 在线精品视频一区二区三四| 91国产精品成人| 精品视频在线视频| 欧美日韩一区久久| 日韩一级完整毛片| 337p日本欧洲亚洲大胆色噜噜| 久久一区二区三区四区| 国产性天天综合网| 国产精品久久久久精k8| 亚洲激情在线激情| 婷婷开心激情综合| 激情综合色综合久久| 国产盗摄一区二区| 91在线码无精品| 欧美日韩一级视频| 日韩精品一区二区三区在线播放| 欧美大片顶级少妇| 亚洲国产成人在线| 一区二区三区欧美亚洲| 免费在线观看视频一区| 国产成人午夜精品影院观看视频 | 亚洲欧美一区二区三区极速播放| 综合中文字幕亚洲| 亚洲国产毛片aaaaa无费看| 日韩电影在线一区| 精品夜夜嗨av一区二区三区| 国产不卡视频一区| 欧美日韩一区高清| 久久久久久久网| 亚洲一区二区三区四区在线| 麻豆久久久久久| eeuss鲁片一区二区三区 | 日韩一区二区三区四区| 日本一区二区三区在线观看| 亚洲自拍都市欧美小说| 美国欧美日韩国产在线播放| 成人av在线资源| 欧美一三区三区四区免费在线看| 国产色一区二区| 亚洲第一精品在线| 福利电影一区二区三区| 欧美视频一区二区在线观看| 久久精品欧美一区二区三区不卡 | 日韩一区二区中文字幕| 国产人久久人人人人爽| 亚洲一区二区三区四区不卡| 国产乱码精品一区二区三区五月婷| 日韩三级高清在线| 亚洲精品美国一| 国产伦精一区二区三区| 欧美最猛性xxxxx直播| 久久久久久一二三区| 日韩成人免费电影| 99久久伊人网影院| 久久综合狠狠综合久久综合88| 一二三区精品福利视频| 国产成人亚洲精品青草天美| 欧美日韩视频在线一区二区| 日韩毛片在线免费观看| 国产精品一区二区视频| 制服丝袜成人动漫| 一区二区三区日本| 成人av在线资源| 久久精品免视看| 久久狠狠亚洲综合| 欧美日韩视频不卡| 亚洲制服丝袜av| 成人av片在线观看| 久久影音资源网| 黑人精品欧美一区二区蜜桃| 欧美一区国产二区| 亚洲国产日韩一区二区| 成人国产免费视频| 国产清纯白嫩初高生在线观看91| 麻豆freexxxx性91精品| 制服.丝袜.亚洲.另类.中文| 亚洲成人av在线电影| 在线视频国产一区| 一区二区三区免费| 欧美亚洲综合色| 亚洲影视在线播放| 欧美色欧美亚洲另类二区| 亚洲狼人国产精品| 色综合天天综合网天天看片| 国产精品你懂的在线欣赏| 国产一区二区福利视频| 精品av久久707| 国产一区在线观看麻豆| 26uuu色噜噜精品一区| 国产一区二区不卡老阿姨| 欧美mv日韩mv| 国产精品自拍毛片| 国产亚洲一区二区在线观看| 国产一二三精品| 国产日产欧美一区二区视频| 成人中文字幕在线| 中文字幕在线播放不卡一区| 91美女福利视频| 亚洲综合图片区| 制服丝袜激情欧洲亚洲| 精品在线观看免费| 久久网站热最新地址| 成人av电影在线播放| 亚洲天堂久久久久久久| 欧美怡红院视频| 日本在线观看不卡视频| 久久综合网色—综合色88| 本田岬高潮一区二区三区| 亚洲视频一区在线| 制服丝袜国产精品| 国产高清在线精品| 亚洲色图第一区| 欧美一区二区三区日韩| 制服丝袜亚洲色图| 国产精品888| 亚洲成a人片在线不卡一二三区|