我開始在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
)