Visual Studio 2012微型过滤器项目模板中的错误
我开始在VS2012,Win8中编写微型过滤器。在创建一个新项目Filter Driver后:Filesystem Mini-filter我得到了6个错误。Visual Studio 2012微型过滤器项目模板中的错误
7智能感知:类型的自变量 “空隙(*)(PCFLT_RELATED_OBJECTS FltObjects,PFLT_IO_PARAMETER_BLOCK ParameterSnapshot,NTSTATUS OperationStatus,PVOID RequesterContext)” 是具有类型的参数 “PFLT_GET_OPERATION_STATUS_CALLBACK”
5智能感知不相容:的值类型 “空隙(*)(PCFLT_RELATED_OBJECTS FltObjects,FLT_INSTANCE_TEARDOWN_FLAGS标志)” 不能被用来初始化类型的实体 “PFLT_INSTANCE_TEARDOWN_CALLBACK”
6智能感知:类型的值 “空隙(*)(PCFLT_RELATED_OBJECTS FltObjects,FLT_INSTANCE_TEARDOWN_FLAGS标志)”不能用于初始IZE类型 “PFLT_INSTANCE_TEARDOWN_CALLBACK”
3智能感知的实体:类型的值 “NTSTATUS(*)(PCFLT_RELATED_OBJECTS FltObjects,FLT_INSTANCE_SETUP_FLAGS旗,ULONG VolumeDeviceType,FLT_FILESYSTEM_TYPE VolumeFilesystemType)” 不能被用来初始化类型的实体 “PFLT_INSTANCE_SETUP_CALLBACK”
4智能感知:类型的值 “NTSTATUS(*)(PCFLT_RELATED_OBJECTS FltObjects,FLT_INSTANCE_QUERY_TEARDOWN_FLAGS标志)” 不能被用来初始化类型的实体 “PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
2智能感知:类型的值” NTSTATUS(* )(FLT_FILTER_UNLOAD_FLAGS标志)“不能用于初始化ent型,两者均“PFLT_FILTER_UNLOAD_CALLBACK”
主要功能,大部分的错误是
CONST FLT_REGISTRATION FilterRegistration = {
sizeof(FLT_REGISTRATION), // Size
FLT_REGISTRATION_VERSION, // Version
0, // Flags
NULL, // Context
Callbacks, // Operation callbacks
FsFilter1testUnload, // MiniFilterUnload
FsFilter1testInstanceSetup, // InstanceSetup
FsFilter1testInstanceQueryTeardown, // InstanceQueryTeardown
FsFilter1testInstanceTeardownStart, // InstanceTeardownStart
FsFilter1testInstanceTeardownComplete, // InstanceTeardownComplete
NULL, // GenerateFileName
NULL, // GenerateDestinationFileName
NULL // NormalizeNameComponent
};
,一个在其他功能
status = FltRequestOperationStatusCallback(Data,
FsFilter1testOperationStatusCallback,
(PVOID)(++OperationStatusCtx));
所有实体都以类似的方式声明
NTSTATUS
FsFilter1testInstanceSetup (
_In_ PCFLT_RELATED_OBJECTS FltObjects,
_In_ FLT_INSTANCE_SETUP_FLAGS Flags,
_In_ DEVICE_TYPE VolumeDeviceType,
_In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
这是IntelliSense问题EM。该项目将被构建并完美工作,除非你做了一些蠕虫或者得到一些编译错误。在错误列表窗口中,只需右键单击 - >关闭“显示智能感知错误”。