2016-04-29 176 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