背景
我正在开发一个应用程序,我需要使用 java 查询我的硬盘上的所有可用文件。由于性能是一项主要要求,我编写了一个本机应用程序,它可以访问Master File Table ($MBT)
所有有效文件条目的窗口。
我打算将本机修改为 Windows 服务(以管理员权限运行.. 访问 MFT 所需),然后使用我的用户模式 java 应用程序通过一些 IPC 技术(特别是共享内存或命名管道或套接字...需要评估)。
目标应用程序是特定于 windows的,java 用于文本处理(我知道 python/perl 擅长它,但很长时间没有使用它们)。
问题
现在我的问题是——
- 是否可以从受限用户级应用程序查询特权 Windows 服务?
- 如果不是,那么实现这一目标的解决方法是什么?
- 我认为套接字可能是可能的 IPC 机制,因为其他两个会失败
Access Denied
。我的假设是否正确? - 将本机代码转换为 JNI/DLL,然后使用对我的计划是否正确?但在这种情况下,我必须通过自定义清单文件以管理员权限启动我的 java 应用程序。
平台
- Windows 7 企业版
- Visual Studio 2012(用于本机 $MFT 访问)
- JDK 构建 1.7.0_25-b17
谢谢