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。该项目将被构建并完美工作,除非你做了一些蠕虫或者得到一些编译错误。在错误列表窗口中,只需右键单击 - >关闭“显示智能感知错误”。