过去两周我一直在研究文件系统过滤器,我遇到了一个有趣的问题。我基本上在一个应用程序中构建了编码/解码实现,该应用程序首先在 Platform Builder 的操作系统启动上运行,以验证它是否工作并用于调试目的。这个应用程序运行良好,能够毫无问题地获取上下文、生成密钥、加密/解密。
当我尝试在 filesys dll 加载上做同样的事情时(据我所知,这是加载文件系统过滤器的点),我的文件系统过滤器似乎没有可用的 CSP 服务。CryptAcquireContext 因 NTE_BAD_KEYSET 而失败,或者当我尝试使用默认提供程序时,它因 NTE_PROV_TYPE_NOT_DEF 而失败。
沮丧的是,我编写了一些代码来枚举当时所有可用的提供程序,结果发现在加载 filesys 时没有任何提供程序,想知道是否有人有任何经验或想法可以提供帮助。我已经正式用完了想法。
干杯伯纳德