加载:

#define DEV_KEY TEXT("Drivers\\Builtin\\WCDMA")
BOOL CGPRSCTRLDlg::Load()
{
    //DWORD dwParam = 89;
    //HANDLE hd = ActivateDeviceEx(DEV_KEY,NULL,0,&dwParam);  

    HANDLE hd = ActivateDeviceEx(DEV_KEY,NULL,,NULL);
    if(INVALID_HANDLE_VALUE==hd)
    {
        return FALSE;
    }
    else
    {
        return TRUE;
    }

}

卸载:

BOOL CGPRSCTRLDlg::Unload(const wstring &strDev)
{
    BOOL bRes = FALSE;

    HANDLE hFind = INVALID_HANDLE_VALUE;
    __try
    {
        if(strDev.empty() != FALSE)
        {
            RETAILMSG(DEBUGMESSAGE, (TEXT("[CGPRSCTRLDlg] Unload leave1\r\n")));
            __leave;
        }

        //确定搜索的方式
        DeviceSearchType searchType;
        ] == ':')
        {
            searchType = DeviceSearchByLegacyName;
        }
        else
        {
            searchType = DeviceSearchByDeviceName;
        }

        DEVMGR_DEVICE_INFORMATION devInfo = {};
        devInfo.dwSize = sizeof(devInfo);

        //寻找驱动的句柄
        hFind = FindFirstDevice(searchType,strDev.c_str(),&devInfo);
        if(hFind == INVALID_HANDLE_VALUE)
        {
            RETAILMSG(DEBUGMESSAGE, (TEXT("[CGPRSCTRLDlg]  Unload leave2\r\n")));
            __leave;
        }

        //卸载驱动
        bRes = DeactivateDevice(devInfo.hDevice);
        RETAILMSG(DEBUGMESSAGE, (TEXT("[CGPRSCTRLDlg] DeactivateDevice\r\n")));
    }
    __finally
    {
        FindClose(hFind);
    }
    return bRes;

}

调用:

//加载
Load();

//卸载
Unload(_T("COM6:")); 

CE驱动动态加载卸载的更多相关文章

  1. c#动态加载卸载DLL的方法

    这篇文章介绍了c#动态加载卸载DLL的方法,有需要的朋友可以参考一下 c#中通过反射可以方便的动态加载dll程序集,但是如果你需要对dll进行更新,却发现.net类库没有提供卸载dll程序集的方法.在 ...

  2. 2018-2-13-C#-动态加载卸载-DLL

    title author date CreateTime categories C# 动态加载卸载 DLL lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:2 ...

  3. C# 动态加载卸载 DLL

    我最近做的软件,需要检测dll或exe是否混淆,需要反射获得类名,这时发现,C#可以加载DLL,但不能卸载DLL.于是在网上找到一个方法,可以动态加载DLL,不使用时可以卸载. 我在写一个WPF 程序 ...

  4. c#动态加载卸载DLL

    前段时间工作的时候遇到一个问题.就是需要每次启动程序的时候动态替换掉某个dll,所以就百度了这方面的资料.这次记录下来让自己以后可以看. 根据自己的理解,动态卸载dll需要有以下条件: 1:dll在加 ...

  5. C#动态加载/卸载Assembly的解决方案

    1.  Assembly中的类要从MarshalByRefObject继承,如果你想从你自己的类来继承,那么请选用interface或者继续研究其他解决方案. namespace Library { ...

  6. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)2----通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域

    实现目的:动态加载dll,执行完毕之后可以随时卸载掉,并可以替换这些dll,以在运行中更新dll中的类. 其实就是通过应用程序域AppDomain加载和卸载程序集. 在这方面微软有篇文章http:// ...

  7. goloader - golang动态加载的实现

    github地址:https://github.com/dearplain/goloader 这里有以前的一些思路:http://www.cnblogs.com/dearplain/p/8145985 ...

  8. Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块

    Linux中mod相关的命令 内核模块化   mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...

  9. 编写软件动态加载NT式驱动

    NT式设备驱动程序的动态加载主要是由服务控制管理程序(Service Control Manager,即SCM)系统组件来完成的. Windwos服务可以在系统启动时加载,用户也可以按需在服务控制平台 ...

随机推荐

  1. google closure继承模块三:goog.base()源码分析

    直接看代码吧: base: function (me, opt_methodName, var_args) { var caller = arguments.callee.caller; if (ca ...

  2. 同上! 下拉复选框 点击当前的checkbox 选中后面li 添加到指定区域

    (function() { $(".cxbtntj").click(function(){ console.log($("#jsLi1").attr(" ...

  3. Command Pattern

    当(客户)对象访问(服务)请求服务时,最直接的方法就是方法调用.

  4. HBase 实战(2)--时间序列检索和面检索的应用场景实战

    前言: 作为Hadoop生态系统中重要的一员, HBase作为分布式列式存储, 在线实时处理的特性, 备受瞩目, 将来能在很多应用场景, 取代传统关系型数据库的江湖地位. 本篇主要讲述面向时间序列/面 ...

  5. Large Margin DAGs for Multiclass Classification

    Abstract We present a new learning architecture: the Decision Directed Acyclic Graph (DDAG), which i ...

  6. html canvas 骰子1

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. windows上传代码到github

    上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.githu ...

  8. 集成SDK查看包架构指令

    1.查看支持构架的命令是lipo -info xxxxx.a 2.合并真机和模拟器的库的命令是 lipo -create xxxx_iphoneos.a xxxx_simulator.a -outpu ...

  9. 图表控件FlowChart.NET详细介绍及免费下载地址

    FlowChart.NET是一款专业的.NET平台下的流程图及图表控件,它可以运行在任何C#, VB.NET或Delphi.NET语言编写的软件中.能够帮助你创建工作流程图.对象层次和关系图.网络拓扑 ...

  10. jsRender绑定数据

    首先,引入jquery(很重要),其次引入jsRender.js <script type="text/javascript" src="js/jquery-1.7 ...