CE驱动动态加载卸载
加载:
#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驱动动态加载卸载的更多相关文章
- c#动态加载卸载DLL的方法
这篇文章介绍了c#动态加载卸载DLL的方法,有需要的朋友可以参考一下 c#中通过反射可以方便的动态加载dll程序集,但是如果你需要对dll进行更新,却发现.net类库没有提供卸载dll程序集的方法.在 ...
- 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 ...
- C# 动态加载卸载 DLL
我最近做的软件,需要检测dll或exe是否混淆,需要反射获得类名,这时发现,C#可以加载DLL,但不能卸载DLL.于是在网上找到一个方法,可以动态加载DLL,不使用时可以卸载. 我在写一个WPF 程序 ...
- c#动态加载卸载DLL
前段时间工作的时候遇到一个问题.就是需要每次启动程序的时候动态替换掉某个dll,所以就百度了这方面的资料.这次记录下来让自己以后可以看. 根据自己的理解,动态卸载dll需要有以下条件: 1:dll在加 ...
- C#动态加载/卸载Assembly的解决方案
1. Assembly中的类要从MarshalByRefObject继承,如果你想从你自己的类来继承,那么请选用interface或者继续研究其他解决方案. namespace Library { ...
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)2----通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域
实现目的:动态加载dll,执行完毕之后可以随时卸载掉,并可以替换这些dll,以在运行中更新dll中的类. 其实就是通过应用程序域AppDomain加载和卸载程序集. 在这方面微软有篇文章http:// ...
- goloader - golang动态加载的实现
github地址:https://github.com/dearplain/goloader 这里有以前的一些思路:http://www.cnblogs.com/dearplain/p/8145985 ...
- Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块
Linux中mod相关的命令 内核模块化 mod相关命令都是用来动态加载内核模块/驱动程序模块 http://baike.baidu.com/link?url=lxiKxFvYm-UfJIxMjz ...
- 编写软件动态加载NT式驱动
NT式设备驱动程序的动态加载主要是由服务控制管理程序(Service Control Manager,即SCM)系统组件来完成的. Windwos服务可以在系统启动时加载,用户也可以按需在服务控制平台 ...
随机推荐
- Java中获取长度length和size的问题
1.length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性: 2.length()方法是针对字符串来说的,要求一个字符串的长度就要用到它的length()方法: 3.ja ...
- LLBLGen Pro v4.2_Patch+Keygen
将dll文件覆盖安装目录下的文件,之后用算号器算出license文件,将license文件放在安装目录下即可. 算号器是在http://www.dxper.net/thread-408-1-1.htm ...
- Service Broker应用(1):简介、同server不同DB间的数据传输
简介:SQL Server Service Broker,以下简称SSB,是一种完全基于MSSQL数据库的数据处理技术,为短时间内处理大量数据提供了一种可靠.稳定.高效的解决方案.一次同步的数据最大可 ...
- http://tool.oschina.net 在线API文档库java jquery ,php,很全的文档库
http://tool.oschina.net 1.6API文档(中文)的下载地址: ZIP格式:http://download.java.net/jdk/jdk-api-localizations ...
- Visual Studio 下C#编译器在解析属性名时如果增加一个get_[您的另一个已经包含在类中属性名]的属性会报错,微软大哥这是什么鬼?
假设在在我们的vs环境新建一个类 copy以下代码,表面看好像一切都没有问题. using System; using System.Collections.Generic; using System ...
- UI数据库
一.数据库 SQL: SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集, 是一种功能齐全的数据库语言. 二.数据库管理系统 数据 ...
- 【python】实用函数啥的
1.测试运行时间/效率 t = time() print time() -t 2.C:\python344\Scripts easy_install.exe ,提供包的名字,可以自动下载+装包 3 ...
- Apache Tomcat开机后台启动
作为软件开发人员,经常接触Tomcat,完成的项目,需要部署到服务器上的Tomcat,才能供其他人访问浏览. 因为存在以下问题,所以需要把Tomcat设置为后台自动启动: 1.服务器可能因环境故障面临 ...
- CSS过滤器
CSS过滤器(CSS filters)最初是为了向SVG矢量图提供不同的图片效果.现在,CSS filters 不在局限于在SVG中使用,也可以在图片.文字和其它元素上使用.CSS过滤器效果并不难理解 ...
- mysql批量替换单字段
update 表名 set 字段名 = replace(字段名,'被替换内容','要替换内容'); 指定有人查这个!!!