我正在开发一个Linux驱动程序可加载模块,我必须在我的驱动程序中使用另一个设备.(堆叠在另一个驱动程序上的驱动程序的种类)
如何在我的驱动程序中调用/使用其他驱动程序?我认为它们都在内核中,所以可能有一种方法可以直接使用另一个驱动程序.
我想为OS X创建一个虚拟监视器驱动程序.我的意思是虚拟是一个监视器驱动程序,它不驱动连接的监视器,但愚弄OS X认为附加了这样的监视器.
目的?它可以通过其他协议将显示数据传输到其他设备,比如VNC.
我相信以前已经以这种或那种形式(也许那些将你的iPad变成辅助显示器的应用程序)完成了这项工作.
任何编码/内核hackery指针将不胜感激!
我目前正在开发的一个项目需要实现一个w-m复制机制,该机制将用于在Windows XP上以与Deep Freeze或Sandboxie类似的方式重定向磁盘i/o.如果我可以,我也希望能够"装载"用户的修改文件,类似于VirtualCloneDrive如何模拟磁盘驱动器并在其上透明地安装ISO映像.
据我所知,这些程序使用minifilter驱动程序来重定向i/o请求.标准流程将任何已修改的数据复制到辅助位置,然后读取/修改该存储以便随后访问该数据; 所以我想我明白我需要做什么.当谈到模拟CD/DVD驱动器并在其上安装图像时,我完全迷失了.
我一直在网上寻找(谷歌,MSDN,代码项目等)和书籍,如使用Windows驱动程序基础和Windows NT文件系统内部开发驱动程序:开发人员指南,但查找具体信息和示例(关于监视,拦截)并且重定向请求和创建环回设备)证明是困难的.我对所涉及的技术还很陌生,所以也许我很难看到森林里的树木.
我想知道是否有人遇到类似的情况,并发现了任何有用的资源,或者可以指出我正确的方向,所以我可以实现类似的功能.
编辑:我发现这个问题似乎是一个有用的资源(虽然不适用于我的特定用例),所以我在这里将它链接到任何即将发布的响应中.
我正在尝试创建一个程序,允许用户在不需要管理权限的情况下安装和使用应用程序.该程序将通过将任何文件系统/注册表修改保存到单独的存储区域(例如,笔式驱动器或网络存储上的文件),然后允许将它们集成到运行主机程序的任何桌面上,即可运行.使用USB笔将桌面随身携带,将其插入,然后应用您的设置.
要重定向I/O,我可以:
每种方法都有好处和缺点.例如,方法三比接近方法困难得多.它提供了更多的安全性,但即使这样它也可以被打败(理论攻击自96年以来一直存在,自07年以来的实际攻击.)
我最初考虑了特定的安全功能(而不仅仅是类似于WoW64兼容性设置的i/o重定向); 但是自从开始看这个以来,我记得你无法永远保护用户免于自己,而且无论我做多少工作都是为了保护主机系统免受恶意进程或愚蠢用户的攻击,它都可能被殴打(或者我更有可能犯错误.)我还决定避免重新发明沙盒和防病毒轮,只需专注于创建一些有用的功能."工具应该做好一件事,做得好"的理念赢得了胜利.
简而言之,我想要做的就是实现类似于VM快照的功能,并将更改重定向到我自己的存储区域.下面的图表有点过时了,但在沟通我的意图方面可能比我现在更好:-)

当我尝试rmmod模块时,我收到错误消息"错误:正在使用的模块",lsmod | grep <module name>显示计数.
有没有办法告诉我哪些进程正在使用这个特定的内核模块/驱动程序?
我有一个直通NDIS中间驱动程序,由两个.inf文件(一个标准和一个微型端口)和一个.sys文件组成.由于Windows 7驱动程序签名要求,我必须获得代码签名证书并签署.sys文件,以便驱动程序安装在64位系统上.这很好用,我有很多成功的Windows 7安装.
但是,Windows 8 Consumer Preview(64位)上的相同安装程序失败.如果我在Windows Signature Enforcement关闭的情况下启动,它会正确安装,因此它绝对是一个签名问题.为了让我的驱动程序安装,我需要遵循Windows 7和Windows 8之间的新要求?
(这是来自MSDN论坛的一个交叉点,因为很长一段时间没有任何响应,我想我会在这里得到更好的答案.)
我有一个包含自定义GATT服务的BLE设备,我无法修改固件.我想从该服务中侦听GATT特征事件,并使Windows将它们作为HID报告使用,以使Windows将其识别为另一个设备.我该怎么做呢?
我进行了一些研究,发现以下信息:
BthLeEnum我的问题是,这里需要什么方法来创建这个驱动程序?
GATT配置文件驱动程序是否仍然允许在Windows 10上使用,因为它似乎不允许为其创建过滤器驱动程序BthLeEnum?
我真的很感激Alain花时间回答这个问题,因此我将他的答案标记为问题的答案; 但对我来说,这个问题还没有完全回答.看到问题已经超过10票,我认为应该得到更广泛的答案.可以改进/添加的要点是:
我想Alain推荐使用UMFF HID微型驱动器而不是VHF,因为VHF需要编写KMDF驱动程序.UMDF具有更容易调试(可在本地PC上调试),安全性(和签名)限制更少的优点,并且在驱动程序中存在错误时没有检查机器的风险.
为了能够创建一个注入RadialController事件的客户端应用程序(而不是必须编写一个对私有开发人员来说是一个非常高的障碍的驱动程序),我在Feedback Hub上发布了一个请求.如果您认为值得支持,请考虑投票.
我正在使用官方MongoDB驱动程序的v0.9,我正在尝试阅读一个集合.我在数据库中有一个字段,我不想读入我的对象,但我收到以下错误.
"意想不到的元素:网络"
该集合在数据库中看起来像这样
Merchants
- _id
- Name
- Description
- Url
- Network
Run Code Online (Sandbox Code Playgroud)
当我将它读入C#时,我想创建一个名为Merchant的对象,它具有除"Network"之外的所有相同属性.我该怎么做呢?
作为一个FYI,我是整个堆栈的新手,所以我可能会犯一个基本的错误.
我正在尝试探索最近升级的Maximo系统的BIRT报告.
为此,我安装了以下内容:
我采取以下步骤:
此时,我看到驱动程序列表为空.这让我觉得奇怪,但我想也许我必须定义驱动程序定义.所以我采取以下步骤:
此时,我看到一条错误消息:无法在驱动程序定义:ojdbc14.jar指定的文件系统中找到JAR/zip.似乎ojdbc14.jar甚至不存在于我能找到的系统上.
我已经尝试添加我可以在oracle客户端目录中找到的其他jdbc jar文件(即来自Oracle_Base\product\11.2.0\client_1\jdbc\lib),但似乎没有解决问题.
救命?
我正在编写i2c使用通用linux i2c驱动程序实现简单读/写功能的代码linux/i2c-dev.h
我很困惑ioctl:I2C_SLAVE
内核文档说明如下:
您可以使用read(2)和write(2)调用执行普通的i2c事务.您不需要传递地址字节; 相反,在尝试访问设备之前,请通过ioctl I2C_SLAVE进行设置
但是,我正在使用ioctl I2C_RDWR我再次设置从属地址的地方i2c_msg.addr.
内核文档还提到了以下内容:
一些ioctl()调用用于管理任务,由i2c-dev直接处理.示例包括I2C_SLAVE
所以必须使用ioctl I2C_SLAVE?如果是这样,我只需要设置一次或每次执行读写操作?
如果我有一个i2c设备,我可以在设备上测试代码并且不会打扰你们,但不幸的是我现在没有.
谢谢您的帮助.
我有一个小型Java应用程序,每天执行并使用Cronj Schedular检查数据库中的数据,一切正常,但最近我发现,它失败了,因为
java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@160.110.xx.xxx:1521/test
Run Code Online (Sandbox Code Playgroud)
同时,当我运行我的测试代码来检查数据库连接时工作正常而没有异常.我无法弄明白.虽然,只有轻微的代码更改,但这与数据库或数据库连接无关.有人,帮我这个吗?
dbconf.java
public class dbconf {
private Connection connect;
private String connstr;
public Connection getConnection() throws SQLException {
connstr = "jdbc:oracle:thin:@160.110.xx.xxx:1521/test";
try {
String uname = "scott";
String pass = "tiger";
Class.forName("oracle.jdbc.OracleDriver").newInstance();
connect = DriverManager.getConnection(connstr, uname, pass);
} catch (Exception e) {
System.out.println(e.toString());
}
return connect;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用ojdbc6.jar和Oracle11g
已编辑 - 应用程序日志文件
Wed Jul 01 09:25:17 IST 2015:------- Initializing -------------------
Wed Jul 01 09:25:17 IST 2015:------- Scheduling Jobs …Run Code Online (Sandbox Code Playgroud)