2012-01-28 79 views
3

我遇到了一些問題,包括從Windows Driver Kit到Visual Studio 2010的頭文件。任何人都可以幫助我,我做錯了什麼?包括DDK頭文件

我得到如C1083的錯誤信息:無法打開包含文件:'sal.h':沒有這樣的文件或目錄。 如果我包含SDK目錄,則會收到諸如類型重定義之類的錯誤消息。 如果我將sal.h複製到DDK目錄,我得到錯誤消息C1083:無法打開包含文件:'codeanalysis \ sourceannotations.h':沒有這樣的文件或目錄。 如果我sourceannotations.h文件複製到DDK目錄我收到其他錯誤消息(見下文)

VC++ Directoy設置:include directory settings

#include "stdafx.h" 


#include <Winsock2.h> 
#include <windows.h> 
#include <stdio.h> 
#include <conio.h> 
#include <strsafe.h> 
#include <fwpmu.h> 
#include <ndis.h> 

Error 1 error C1083: Cannot open include file: 'codeanalysis\sourceannotations.h': No such file or directory c:\winddk\7600.16385.1\inc\crt\sal.h 160 1 wfp 
2 IntelliSense: cannot open source file "codeanalysis\sourceannotations.h" c:\winddk\7600.16385.1\inc\crt\sal.h 160 1 
21 IntelliSense: cannot overload functions distinguished by return type alone c:\winddk\7600.16385.1\inc\ddk\ntddk.h 2895 1 
22 IntelliSense: cannot overload functions distinguished by return type alone c:\winddk\7600.16385.1\inc\ddk\ntddk.h 2907 1 
23 IntelliSense: cannot overload functions distinguished by return type alone c:\winddk\7600.16385.1\inc\ddk\ntddk.h 2917 1 
8 IntelliSense: expected a ')' c:\winddk\7600.16385.1\inc\api\fwptypes.h 345 49 
6 IntelliSense: expected a ';' c:\winddk\7600.16385.1\inc\api\fwptypes.h 281 4 
9 IntelliSense: expected a ';' c:\winddk\7600.16385.1\inc\api\fwptypes.h 364 1 
11 IntelliSense: expected a ';' c:\winddk\7600.16385.1\inc\api\iketypes.h 370 1 
16 IntelliSense: expected a ';' c:\winddk\7600.16385.1\inc\ddk\wdm.h 8838 1 
25 IntelliSense: expected a declaration c:\winddk\7600.16385.1\inc\ddk\ntddk.h 15056 5 
4 IntelliSense: expected a type specifier c:\winddk\7600.16385.1\inc\api\fwptypes.h 275 18 
3 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\api\fwptypes.h 275 5 
7 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\api\fwptypes.h 345 5 
10 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\api\iketypes.h 369 2 
18 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\ddk\wdm.h 17964 1 
19 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\ddk\wdm.h 17970 9 
24 IntelliSense: expected an identifier c:\winddk\7600.16385.1\inc\ddk\ntddk.h 15037 3 
14 IntelliSense: identifier "FWP_FILTER_ENUM_TYPE" is undefined c:\winddk\7600.16385.1\inc\api\fwpmtypes.h 413 5 
12 IntelliSense: identifier "IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0" is undefined c:\winddk\7600.16385.1\inc\api\iketypes.h 418 5 
13 IntelliSense: identifier "IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0" is undefined c:\winddk\7600.16385.1\inc\api\iketypes.h 419 5 
20 IntelliSense: identifier "PCALLBACK_FUNCTION" is undefined c:\winddk\7600.16385.1\inc\ddk\wdm.h 17994 10 
17 IntelliSense: identifier "TIME_FIELDS" is undefined c:\winddk\7600.16385.1\inc\ddk\wdm.h 9012 9 
15 IntelliSense: this declaration has no storage class or type specifier c:\winddk\7600.16385.1\inc\ddk\wdm.h 8837 1 
5 IntelliSense: unexpected parenthesis after declaration of function "<error>" (malformed parameter list or invalid initializer?) c:\winddk\7600.16385.1\inc\api\fwptypes.h 278 4 
+0

您是否嘗試過重新排序包含?頂部的windows.h和「stdafx.h」最後? – 2012-01-28 11:12:58

+0

不要把stdafx.h放在最上面,呃,有趣的效果。 – 2012-01-28 12:23:00

+0

@Niklas Hansson它不是解決方案 – Matt 2012-01-29 19:34:47

回答

3

你不能」從該混用從SDK頭DDK。

因此,取消選中繼承父設置的複選框。那麼你可能需要從DDK中添加其他目錄。

另請注意,您也無法將來自DDK的庫與SDK中的庫混合在一起。所以你必須在那裏做幾乎相同的。