【问题标题】:Information about Vault.dll and Vaultcli.dll有关 Vault.dll 和 Vaultcli.dll 的信息
【发布时间】:2013-02-01 03:23:40
【问题描述】:

当我遇到 vault 和 vaultcli dll 时,我在 System32 中的 dll 中磕磕绊绊。我假设这些库与密码存储一起使用,我想知道是否有人对此有更多信息。我尝试搜索谷歌,但只能找到一堆“这是病毒”和“修复此错误”的网站。我假设这些是 C/C++ 库,因为我尝试在 C# 项目中添加对它们的引用但没有成功。我想了解这些 dll 包含哪些方法,以及是否可以使用 DllImportextern 从 C# 中引用它们。

【问题讨论】:

  • dumpbin /exports vaultcli.dll 将显示它导出的函数。看起来 vault.dll 有点像 COM 对象(仅导出 DllGetClassObjectDllCanUnloadNow)。
  • @JerryCoffin 谢谢你,我完全不知道这个功能。我得试试这个并对DllGetClassObjectDllCanUnloadNow 做更多的研究。诚然,我的 C/C++ 知识并不是最丰富的,因此我对与 user32.dll 和类似库之外的非托管代码交互的理解也很有限。
  • dumpbin 是 Windows SDK 的一部分,所以如果您没有它,您可能需要先下载/安装它。
  • @JerryCoffin MSDN 声明它也包含在我作为 VS2012 默认安装的一部分安装的 Visual C++ 中。我将在我的本地机器上搜索它。如果我没有找到我需要的特定版本的 SDK,还是最新的版本可以使用?
  • 是的,如果你安装了 VS 2012,它应该在那里。只需打开一个 VS 2012 命令窗口,它应该就可以工作了。如果您需要 SDK,几乎任何版本都可以使用(它已经存在多年了)。

标签: c# c++ c windows


【解决方案1】:

Vaultcmd.exe(及其依赖项 vaultcli.dll)是命令行等效于控制面板中的Credential Manager(在 Windows7 中,在控制面板 -> 用户帐户和家庭安全 -> 凭据管理器下。)

从 Windows 8(和通用 Windows 平台)开始 Windows 包括 Windows.Security.Credentials.PasswordVault。这是一个易于从 C# 使用的 .Net 库。它可以添加、读取和列出凭据。

它似乎是 Windows 的一部分,而不是 .Net 框架。为了让它工作,我必须在我的 .csproj 中设置 PlatformLevel。

<PropertyGroup>
  <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
  <TargetPlatformVersion>8.0</TargetPlatformVersion>
</PropertyGroup>

<Reference Include="Windows.Security">
      <HintPath>$(SYSTEMROOT)\System32\WinMetadata\Windows.Security.winmd</HintPath>
</Reference>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多