2016-04-29 74 views
0

我想重现一个Visual Studio内部版本,而不使用Visual Studio,到目前为止,我已经能够找到所有标题存储在哪里(Windows SDK版本,Visual Studio版本等),这要感谢questions like thisBCRYPT_HASH_FUNCTION_TABLE在哪里定义?

但是,从Microsoft加密API一个具体的定义,我觉得无处:

BCRYPT_HASH_FUNCTION_TABLE 

即使谷歌搜索周围#define BCRYPT_HASH_FUNCTION_TABLEtypedef * BCRYPT_HASH_FUNCTION_TABLE没有给出结果。

我的VS项目使用该定义,并且VS编译它,因此它设法找到该类型的定义。但是,我无法在链接的SO问题所示的任何包含的目录中找到它,所以我看到两种可能性:

  1. 还有其他包含的目录,我不知道;
  2. MSVC有一些与CNG相关的类型的内置定义。

如果是前者,我怎么能找到这些额外的目录?

我在我的SDK包含目录中发现了一个bcrypt.h文件,其中包含多个与bcrypt相关的定义,但不包含此特定的typedef。

额外的细节:

  • 在我的硬盘命名bcrypt.h唯一的文件是一个我从安装Windows SDK 7找来的,它没有这样的定义;
  • 我在网上找到了another version of bcrypt.h这个确实定义了它,但是我不知道这是哪个版本,我怎么能够自己得到它,总的来说,MSVC如何编译我的文件,头部不包含这样的定义。
+1

如果该程序编译,则使用CNG SDK。很难得到今天,所有的链接都死了。你必须在你的机器上找回它。查看编译器的附加包含目录设置。 –

回答

0

如果编译但未定义,则不使用。

它可能位于#ifdef的部分,因此您可以看到它,但不会被使用/编译。

+0

对不起,我编辑了这个问题来澄清我的意思:使用了定义*,但是我找不到它包含在VS中,或者它是某种内置的VS。 – anol