79

帖子

0

TA的资源

一粒金砂(初级)

21
 
没有操作成功,可能是我的问题。改天再试试吧。多谢帮助。

回复

63

帖子

0

TA的资源

一粒金砂(初级)

22
 
BOOL
DoNdisIOControl(
        DWORD   dwCommand,
        LPVOID  pInBuffer,
        DWORD   cbInBuffer,
        LPVOID  pOutBuffer,
        DWORD   *pcbOutBuffer)
{
   HANDLE   hNdis;
   BOOL     bResult = FALSE;

   hNdis =  CreateFile(
                DD_NDIS_DEVICE_NAME,
                GENERIC_READ | GENERIC_WRITE,
                FILE_SHARE_READ | FILE_SHARE_WRITE,
                NULL,
                OPEN_ALWAYS,
                0,
                NULL);

   if (INVALID_HANDLE_VALUE != hNdis)
   {
      bResult = DeviceIoControl(
                    hNdis,
                    dwCommand,
                    pInBuffer,
                    cbInBuffer,
                    pOutBuffer,
                    (pcbOutBuffer ? *pcbOutBuffer : 0x00),
                    pcbOutBuffer,
                    NULL);
                    
        CloseHandle(hNdis);
   }

   return bResult;
   
}




            nChars = _sntprintf(
                        szName,
                        MAX_PATH-1,
                        _T("%s\\%s"),
                        PMCLASS_NDIS_MINIPORT,
                        ptcDeviceName);


            if (nChars != -1)
            {
                DEBUGMSG (ZONE_NDISUIO,
                    (TEXT("NdisPower:: Setting adapter [%s] to Power State [%s].\r\n"),
                    ptcDeviceName,
                    (CePowerState == D0) ? TEXT("D0") :
                    (CePowerState == D1) ? TEXT("D1") :
                    (CePowerState == D2) ? TEXT("D2") :
                    (CePowerState == D3) ? TEXT("D3") :
                    (CePowerState == D4) ? TEXT("D4") :
                    (CePowerState == PwrDeviceUnspecified) ? TEXT("PwrDeviceUnspecified") :                    
                    TEXT("UNKNOWN!")));

                SetDevicePower(szName, POWER_NAME, CePowerState);

            }

            //
            //  IOCTL_NDIS_UNBIND_ADAPTER takes multisz (protocol driver names
            //  follow the adapter name) hence we need extra NULL.
            //
            
            memset (szName, 0x00, sizeof(szName));
            _tcscpy(szName, ptcDeviceName);
            DoNdisIOControl(
                IOCTL_NDIS_UNBIND_ADAPTER,
                szName,
                (_tcslen(ptcDeviceName)+2) * sizeof(TCHAR),
                NULL,
                NULL);

这段是先关设备再UNBIND的代码,希望对你有帮助
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

23
 
强烈关注
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

24
 
引用 21 楼 suwyhoho 的回复:
BOOL
DoNdisIOControl(
? ? ? ? DWORD? dwCommand,
? ? ? ? LPVOID? pInBuffer,
? ? ? ? DWORD? cbInBuffer,
? ? ? ? LPVOID? pOutBuffer,
? ? ? ? DWORD? *pcbOutBuffer)
{
? HANDLE? hNdis;
? BOOL? ? bResult = FALSE;

? hNdis =? CreateFile(
? ? ? ? ? ? ? ? DD_NDIS_DEVICE_NAME,
? ? ? ? ? ? ? ? GENERIC_READ | GENERIC_WRITE,
? ? ? ? ? ? ? ? FILE_SHARE_READ | FILE_SHARE_WRITE,
? ? ? ? ? ? ? ? NULL,
? ? ? ? ? ? ? ? OPEN_ALWAYS,
? ? ? ? ? ? ? ? 0,
? ? ? ? ? ? ? ? NULL);

? if (INVALID_HANDLE_VALUE != hNdis)
? {
? ? ? bResult = DeviceIoControl(
? ? ? ? ? ? ? ? ? ? hNdis,
? ? ? ? ? ? ? ? ? ? dwCommand,
? ? ? ? ? ? ? ? ? ? pInBuffer,
? ? ? ? ? ? ? ? ? ? cbInBuffer,
? ? ? ? ? ? ? ? ? ? pOutBuffer,
? ? ? ? ? ? ? ? ? ? (pcbOutBuffer ? *pcbOutBuffer : 0x00),
? ? ? ? ? ? ? ? ? ? pcbOutBuffer,
? ? ? ? ? ? ? ? ? ? NULL);
? ? ? ? ? ? ? ? ? ?
? ? ? ? CloseHandle(hNdis);
? }

? return bResult;
?
}


? ? ? ? ? ? nChars = _sntprintf(
? ? ? ? ? ? ? ? ? ? ? ? szName,
? ? ? ? ? ? ? ? ? ? ? ? MAX_PATH-1,
? ? ? ? ? ? ? ? ? ? ? ? _T("%s\\%s"),
? ? ? ? ? ? ? ? ? ? ? ? PMCLASS_NDIS_MINIPORT,
? ? ? ? ? ? ? ? ? ? ? ? ptcDeviceName);


? ? ? ? ? ? if (nChars != -1)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? DEBUGMSG (ZONE_NDISUIO,
? ? ? ? ? ? ? ? ? ? (TEXT("NdisPower:: Setting adapter [%s] to Power State [%s].\r\n"),
? ? ? ? ? ? ? ? ? ? ptcDeviceName,
? ? ? ? ? ? ? ? ? ? (CePowerState == D0) ? TEXT("D0") :
? ? ? ? ? ? ? ? ? ? (CePowerState == D1) ? TEXT("D1") :
? ? ? ? ? ? ? ? ? ? (CePowerState == D2) ? TEXT("D2") :
? ? ? ? ? ? ? ? ? ? (CePowerState == D3) ? TEXT("D3") :
? ? ? ? ? ? ? ? ? ? (CePowerState == D4) ? TEXT("D4") :
? ? ? ? ? ? ? ? ? ? (CePowerState == PwrDeviceUnspecified) ? TEXT("PwrDeviceUnspecified") :? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? TEXT("UNKNOWN!")));

? ? ? ? ? ? ? ? SetDevicePower(szName, POWER_NAME, CePowerState);

? ? ? ? ? ? }

? ? ? ? ? ? //
? ? ? ? ? ? //? IOCTL_NDIS_UNBIND_ADAPTER takes multisz (protocol driver names
? ? ? ? ? ? //? follow the adapter name) hence we need extra NULL.
? ? ? ? ? ? //
? ? ? ? ? ?
? ? ? ? ? ? memset (szName, 0x00, sizeof(szName));
? ? ? ? ? ? _tcscpy(szName, ptcDeviceName);
? ? ? ? ? ? DoNdisIOControl(
? ? ? ? ? ? ? ? IOCTL_NDIS_UNBIND_ADAPTER,
? ? ? ? ? ? ? ? szName,
? ? ? ? ? ? ? ? (_tcslen(ptcDeviceName)+2) * sizeof(TCHAR),
? ? ? ? ? ? ? ? NULL,
? ? ? ? ? ? ? ? NULL);

这段是先关设备再UNBIND的代码,希望对你有帮助


太感谢了,痛哭流涕。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

25
 
wifi驱动的问题,多谢大家帮助了。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

26
 
强列关注...
因为要读mac作为注册码.
不知这样是否较有效...
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 2/8 下一条
ADI &文晔 探索季第一站,邀您在活动帖跟帖,ADI资深工程师将与您一道寻求解决之道! ...
春晚,最出圈当属穿着棉马甲跳秧歌的机器人”秧Bot”。
转手绢、飞手绢、变换队形,精准度和稳定性甚至超越人类,这背后少不了电机控制技术。

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表