由于要用到CREATE_USN_JOURNAL_DATA、FSCTL_CREATE_USN_JOURNAL这两个结构体,msdn说要包括WinIoCtl.h头文件。但问题是,即使我添加了# include <winioctl.h>,在VC++6.0中编译的时候还是出现以下错误:error C2065: 'CREATE_USN_JOURNAL_DATA' : undeclared identifier error C2146: syntax error : missing ';' before identifier 'cujd' 
error C2065: 'cujd' : undeclared identifier 
error C2228: left of '.MaximumSize' must have class/struct/union type 
error C2228: left of '.AllocationDelta' must have class/struct/union type 
error C2065: 'FSCTL_CREATE_USN_JOURNAL' : undeclared identifier 而如果在VS2008中编译则没有此问题。
所以我怀疑是winioctl.h文件版本的问题,于是我把电脑中的所有winioctl.h文件都找出来,
然后类似这样子include,
#include "D:\Microsoft Visual Studio 9.0\SmartDevices\SDK\PocketPC2003\Include\winioctl.h"但是还是出现上述错误。为什么在VS2008中直接用# include <winioctl.h>就可以了,而在VC6.0中就无法编译呢?
实在不知道怎么回事,请高手解答,谢谢!