29#define FLT_MGR_BASELINE (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \
30 ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WINXPSP2))) || \
31 ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \
32 (NTDDI_VERSION >= NTDDI_VISTA))
34#define FLT_MGR_AFTER_XPSP2 (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \
35 ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) > SPVER(NTDDI_WINXPSP2))) || \
36 ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \
37 (NTDDI_VERSION >= NTDDI_VISTA))
39#define FLT_MGR_LONGHORN (NTDDI_VERSION >= NTDDI_VISTA)
40#define FLT_MGR_WIN7 (NTDDI_VERSION >= NTDDI_WIN7)
49#define FLT_ASSERT(_e) NT_ASSERT(_e)
50#define FLT_ASSERTMSG(_m, _e) NT_ASSERTMSG(_m, _e)
52#define FLT_ASSERT(_e) ASSERT(_e)
53#define FLT_ASSERTMSG(_m, _e) ASSERTMSG(_m, _e)
56#define Add2Ptr(P,I) ((PVOID)((PUCHAR)(P) + (I)))
57#define PtrOffset(B,O) ((ULONG)((ULONG_PTR)(O) - (ULONG_PTR)(B)))
59#define ROUND_TO_SIZE(_length, _alignment) \
60 ((((ULONG_PTR)(_length)) + ((_alignment)-1)) & ~(ULONG_PTR) ((_alignment) - 1))
62#define IS_ALIGNED(_pointer, _alignment) \
63 ((((ULONG_PTR) (_pointer)) & ((_alignment) - 1)) == 0)
65#define IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION ((UCHAR)-1)
66#define IRP_MJ_RELEASE_FOR_SECTION_SYNCHRONIZATION ((UCHAR)-2)
67#define IRP_MJ_ACQUIRE_FOR_MOD_WRITE ((UCHAR)-3)
68#define IRP_MJ_RELEASE_FOR_MOD_WRITE ((UCHAR)-4)
69#define IRP_MJ_ACQUIRE_FOR_CC_FLUSH ((UCHAR)-5)
70#define IRP_MJ_RELEASE_FOR_CC_FLUSH ((UCHAR)-6)
71#define IRP_MJ_FAST_IO_CHECK_IF_POSSIBLE ((UCHAR)-13)
72#define IRP_MJ_NETWORK_QUERY_OPEN ((UCHAR)-14)
73#define IRP_MJ_MDL_READ ((UCHAR)-15)
74#define IRP_MJ_MDL_READ_COMPLETE ((UCHAR)-16)
75#define IRP_MJ_PREPARE_MDL_WRITE ((UCHAR)-17)
76#define IRP_MJ_MDL_WRITE_COMPLETE ((UCHAR)-18)
77#define IRP_MJ_VOLUME_MOUNT ((UCHAR)-19)
78#define IRP_MJ_VOLUME_DISMOUNT ((UCHAR)-20)
79#define IRP_MJ_OPERATION_END ((UCHAR)0x80)
80#define FLT_INTERNAL_OPERATION_COUNT 22
82#define NULL_CONTEXT ((PFLT_CONTEXT)NULL)
92typedef struct _KTRANSACTION *PKTRANSACTION;
95#if !defined(_AMD64_) && !defined(_IA64_) && !defined(_ARM_)
399#if !defined(_AMD64_) && !defined(_IA64_) && !defined(_ARM_)
414#define FLTFL_CALLBACK_DATA_REISSUE_MASK 0x0000FFFF
415#define FLTFL_CALLBACK_DATA_IRP_OPERATION 0x00000001
416#define FLTFL_CALLBACK_DATA_FAST_IO_OPERATION 0x00000002
417#define FLTFL_CALLBACK_DATA_FS_FILTER_OPERATION 0x00000004
418#define FLTFL_CALLBACK_DATA_SYSTEM_BUFFER 0x00000008
419#define FLTFL_CALLBACK_DATA_GENERATED_IO 0x00010000
420#define FLTFL_CALLBACK_DATA_REISSUED_IO 0x00020000
421#define FLTFL_CALLBACK_DATA_DRAINING_IO 0x00040000
422#define FLTFL_CALLBACK_DATA_POST_OPERATION 0x00080000
423#define FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER 0x00100000
424#define FLTFL_CALLBACK_DATA_DIRTY 0x80000000
426#define FLT_SET_CALLBACK_DATA_DIRTY(Data) FltSetCallbackDataDirty(Data)
427#define FLT_CLEAR_CALLBACK_DATA_DIRTY(Data) FltClearCallbackDataDirty(Data)
428#define FLT_IS_CALLBACK_DATA_DIRTY(Data) FltIsCallbackDataDirty(Data)
430#define FLT_IS_IRP_OPERATION(Data) (FlagOn((Data)->Flags, FLTFL_CALLBACK_DATA_IRP_OPERATION))
431#define FLT_IS_FASTIO_OPERATION(Data) (FlagOn((Data)->Flags, FLTFL_CALLBACK_DATA_FAST_IO_OPERATION))
432#define FLT_IS_FS_FILTER_OPERATION(Data) (FlagOn((Data)->Flags, FLTFL_CALLBACK_DATA_FS_FILTER_OPERATION))
433#define FLT_IS_REISSUED_IO(Data) (FlagOn((Data)->Flags, FLTFL_CALLBACK_DATA_REISSUED_IO))
434#define FLT_IS_SYSTEM_BUFFER(Data) (FlagOn((Data)->Flags, FLTFL_CALLBACK_DATA_SYSTEM_BUFFER))
438#define FLT_VOLUME_CONTEXT 0x0001
439#define FLT_INSTANCE_CONTEXT 0x0002
440#define FLT_FILE_CONTEXT 0x0004
441#define FLT_STREAM_CONTEXT 0x0008
442#define FLT_STREAMHANDLE_CONTEXT 0x0010
443#define FLT_TRANSACTION_CONTEXT 0x0020
444#define FLT_CONTEXT_END 0xffff
446#define FLT_ALL_CONTEXTS (FLT_VOLUME_CONTEXT | FLT_INSTANCE_CONTEXT | \
447 FLT_FILE_CONTEXT | FLT_STREAM_CONTEXT | \
448 FLT_STREAMHANDLE_CONTEXT | FLT_TRANSACTION_CONTEXT)
454#define FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY 0x00000001
511#define FLTFL_CONTEXT_REGISTRATION_NO_EXACT_SIZE_MATCH 0x0001
513#define FLT_VARIABLE_SIZED_CONTEXTS ((SIZE_T)-1)
529#define FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT 0x00000001
530#define FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT 0x00000002
531#define FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME 0x00000004
535#define FLTFL_INSTANCE_SETUP_DETACHED_VOLUME 0x00000008
537#define FLT_MAX_TRANSACTION_NOTIFICATIONS (TRANSACTION_NOTIFY_PREPREPARE | \
538 TRANSACTION_NOTIFY_PREPARE | \
539 TRANSACTION_NOTIFY_COMMIT | \
540 TRANSACTION_NOTIFY_ROLLBACK | \
541 TRANSACTION_NOTIFY_COMMIT_FINALIZE)
550 _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType);
561#define FLTFL_INSTANCE_TEARDOWN_MANUAL 0x00000001
562#define FLTFL_INSTANCE_TEARDOWN_FILTER_UNLOAD 0x00000002
563#define FLTFL_INSTANCE_TEARDOWN_MANDATORY_FILTER_UNLOAD 0x00000004
564#define FLTFL_INSTANCE_TEARDOWN_VOLUME_DISMOUNT 0x00000008
565#define FLTFL_INSTANCE_TEARDOWN_INTERNAL_ERROR 0x00000010
594#define FLTFL_POST_OPERATION_DRAINING 0x00000001
605#define FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO 0x00000001
606#define FLTFL_OPERATION_REGISTRATION_SKIP_CACHED_IO 0x00000002
607#define FLTFL_OPERATION_REGISTRATION_SKIP_NON_DASD_IO 0x00000004
647#define FLT_TAG_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(FLT_TAG_DATA_BUFFER, GenericReparseBuffer)
651#define FLTFL_FILTER_UNLOAD_MANDATORY 0x00000001
674#define FLTFL_NORMALIZE_NAME_CASE_SENSITIVE 0x01
675#define FLTFL_NORMALIZE_NAME_DESTINATION_FILE_NAME 0x02
712#define FLT_REGISTRATION_VERSION_0200 0x0200
713#define FLT_REGISTRATION_VERSION_0201 0x0201
714#define FLT_REGISTRATION_VERSION_0202 0x0202
715#define FLT_REGISTRATION_VERSION_0203 0x0203
718#define FLT_REGISTRATION_VERSION FLT_REGISTRATION_VERSION_0202
720#define FLT_REGISTRATION_VERSION FLT_REGISTRATION_VERSION_0200
725#define FLTFL_REGISTRATION_DO_NOT_SUPPORT_SERVICE_STOP 0x00000001
726#define FLTFL_REGISTRATION_SUPPORT_NPFS_MSFS 0x00000002
755#define FLTFL_IO_OPERATION_NON_CACHED 0x00000001
756#define FLTFL_IO_OPERATION_PAGING 0x00000002
757#define FLTFL_IO_OPERATION_DO_NOT_UPDATE_BYTE_OFFSET 0x00000004
760#define FLTFL_IO_OPERATION_SYNCHRONOUS_PAGING 0x00000008
772#define FLT_VALID_FILE_NAME_FORMATS 0x000000ff
774#define FLT_FILE_NAME_NORMALIZED 0x01
775#define FLT_FILE_NAME_OPENED 0x02
776#define FLT_FILE_NAME_SHORT 0x03
778#define FltGetFileNameFormat( _NameOptions ) ((_NameOptions) & FLT_VALID_FILE_NAME_FORMATS)
780#define FLT_VALID_FILE_NAME_QUERY_METHODS 0x0000ff00
782#define FLT_FILE_NAME_QUERY_DEFAULT 0x0100
783#define FLT_FILE_NAME_QUERY_CACHE_ONLY 0x0200
784#define FLT_FILE_NAME_QUERY_FILESYSTEM_ONLY 0x0300
785#define FLT_FILE_NAME_QUERY_ALWAYS_ALLOW_CACHE_LOOKUP 0x0400
787#define FltGetFileNameQueryMethod( _NameOptions ) ((_NameOptions) & FLT_VALID_FILE_NAME_QUERY_METHODS)
789#define FLT_VALID_FILE_NAME_FLAGS 0xff000000
791#define FLT_FILE_NAME_REQUEST_FROM_CURRENT_PROVIDER 0x01000000
792#define FLT_FILE_NAME_DO_NOT_CACHE 0x02000000
794#if FLT_MGR_AFTER_XPSP2
795#define FLT_FILE_NAME_ALLOW_QUERY_ON_REPARSE 0x04000000
800#define FLTFL_FILE_NAME_PARSED_FINAL_COMPONENT 0x0001
801#define FLTFL_FILE_NAME_PARSED_EXTENSION 0x0002
802#define FLTFL_FILE_NAME_PARSED_STREAM 0x0004
803#define FLTFL_FILE_NAME_PARSED_PARENT_DIR 0x0008
835#define FLT_PORT_CONNECT 0x0001
836#define FLT_PORT_ALL_ACCESS (FLT_PORT_CONNECT | STANDARD_RIGHTS_ALL)
973FltCheckAndGrowNameControl(
981FltPurgeFileNameInformationCache(
1011FltGetRoutineAddress(
1018FltCompletePendedPreOperation(
1026FltCompletePendedPostOperation(
1033FltRequestOperationStatusCallback(
1042FltAllocatePoolAlignedWithTag(
1051FltFreePoolAlignedWithTag(
1084FltReferenceFileNameInformation(
1099FltParseFileNameInformation(
1170FltAttachVolumeAtAltitude(
1190FltAllocateCallbackData(
1204FltReuseCallbackData(
1211FltPerformSynchronousIo(
1219FltPerformAsynchronousIo(
1302FltQueryInformationFile(
1314FltSetInformationFile(
1325FltQueryVolumeInformationFile(
1337FltQuerySecurityObject(
1349FltSetSecurityObject(
1381FltDeviceIoControlFile(
1395FltReissueSynchronousIo(
1416FltCreateSystemVolumeInformationFolder(
1422FltSupportsFileContexts(
1428FltSupportsStreamContexts(
1434FltSupportsStreamHandleContexts(
1474FltSetInstanceContext(
1503FltSetStreamHandleContext(
1519FltDeleteVolumeContext(
1527FltDeleteInstanceContext(
1534FltDeleteFileContext(
1542FltDeleteStreamContext(
1550FltDeleteStreamHandleContext(
1566FltGetInstanceContext(
1589FltGetStreamHandleContext(
1616FltGetVolumeFromName(
1624FltGetVolumeInstanceFromName(
1633FltGetVolumeFromInstance(
1640FltGetFilterFromInstance(
1647FltGetVolumeFromFileObject(
1655FltGetVolumeFromDeviceObject(
1698FltGetBottomInstance(
1711FltGetFilterInformation(
1721FltGetInstanceInformation(
1749FltGetVolumeGuidName(
1758FltQueryVolumeInformation(
1769FltSetVolumeInformation(
1799FltEnumerateInstances(
1810FltEnumerateFilterInformation(
1821FltEnumerateInstanceInformationByFilter(
1833FltEnumerateInstanceInformationByVolume(
1845FltEnumerateVolumeInformation(
1870FltCreateCommunicationPort(
1883FltCloseCommunicationPort(
1930FltSetCancelCompletion(
1938FltClearCancelCompletion(
1950FltAllocateDeferredIoWorkItem(
VOID);
1955FltFreeDeferredIoWorkItem(
1962FltAllocateGenericWorkItem(
VOID);
1967FltFreeGenericWorkItem(
1974FltQueueDeferredIoWorkItem(
1985FltQueueGenericWorkItem(
2072FltUninitializeOplock(
2098FltOplockIsFastIoPossible(
2104FltCurrentBatchOplock(
2144FltCheckLockForReadAccess(
2152FltCheckLockForWriteAccess(
2160FltAcquireResourceExclusive(
2167FltAcquireResourceShared(
2180FltInitializePushLock(
2193FltAcquirePushLockExclusive(
2200FltAcquirePushLockShared(
2224FltGetRequestorProcess(
2230FltGetRequestorProcessId(
2236FltNotifyFilterChangeDirectory(
2254#if FLT_MGR_AFTER_XPSP2
2342FltQueryDirectoryFile(
2356FltSupportsFileContextsEx(
2363FltSetTransactionContext(
2373FltDeleteTransactionContext(
2381FltGetTransactionContext(
2389FltIsFltMgrVolumeDeviceObject(
2395FltGetVolumeInformation(
2405FltGetFileSystemType(
2422FltCancellableWaitForSingleObject(
2432FltCancellableWaitForMultipleObjects(
2443FltGetRequestorProcessIdEx(
2450FltEnlistInTransaction(
2459FltRollbackEnlistment(
2467FltPrePrepareComplete(
2491FltCommitFinalizeComplete(
2508FltAllocateExtraCreateParameterList(
2517FltAllocateExtraCreateParameter(
2529FltInitExtraCreateParameterLookasideList(
2539FltDeleteExtraCreateParameterLookasideList(
2548FltAllocateExtraCreateParameterFromLookasideList(
2560FltInsertExtraCreateParameter(
2568FltFindExtraCreateParameter(
2578FltRemoveExtraCreateParameter(
2588FltFreeExtraCreateParameterList(
2595FltFreeExtraCreateParameter(
2602FltGetEcpListFromCallbackData(
2610FltSetEcpListIntoCallbackData(
2618FltGetNextExtraCreateParameter(
2636FltIsEcpAcknowledged(
2643FltIsEcpFromUserMode(
2650FltRetrieveIoPriorityInfo(
2659FltApplyPriorityInfoThread(
2667FltGetIoPriorityHint(
2673FltGetIoPriorityHintFromCallbackData(
2679FltSetIoPriorityHintIntoCallbackData(
2686FltGetIoPriorityHintFromFileObject(
2693FltSetIoPriorityHintIntoFileObject(
2700FltGetIoPriorityHintFromThread(
2706FltSetIoPriorityHintIntoThread(
2718FltAllocateCallbackDataEx(
2728FltGetNewSystemBufferAddress(
2769FltOplockBreakToNone(
2779FltOplockBreakToNoneEx(
2790FltOplockIsSharedRequest(
2813FltGetRequestorSessionId(
2820FltAdjustDeviceStackSizeForIoRedirection(
2828FltIsIoRedirectionAllowed(
2836FltIsIoRedirectionAllowedForOperation(
NTSTATUS NTAPI FltStartFiltering(_In_ PFLT_FILTER Filter)
NTSTATUS NTAPI FltGetFilterFromName(_In_ PCUNICODE_STRING FilterName, _Out_ PFLT_FILTER *RetFilter)
VOID FLTAPI FltUnregisterFilter(_In_ PFLT_FILTER Filter)
NTSTATUS NTAPI FltRegisterFilter(_In_ PDRIVER_OBJECT DriverObject, _In_ const FLT_REGISTRATION *Registration, _Out_ PFLT_FILTER *RetFilter)
NTSTATUS NTAPI FltLoadFilter(_In_ PCUNICODE_STRING FilterName)
NTSTATUS NTAPI FltUnloadFilter(_In_ PCUNICODE_STRING FilterName)
NTSTATUS FLTAPI FltBuildDefaultSecurityDescriptor(_Outptr_ PSECURITY_DESCRIPTOR *SecurityDescriptor, _In_ ACCESS_MASK DesiredAccess)
VOID FLTAPI FltReleaseFileNameInformation(_In_ PFLT_FILE_NAME_INFORMATION FileNameInformation)
NTSTATUS FLTAPI FltGetDestinationFileNameInformation(_In_ PFLT_INSTANCE Instance, _In_ PFILE_OBJECT FileObject, _In_opt_ HANDLE RootDirectory, _In_reads_bytes_(FileNameLength) PWSTR FileName, _In_ ULONG FileNameLength, _In_ FLT_FILE_NAME_OPTIONS NameOptions, _Outptr_ PFLT_FILE_NAME_INFORMATION *RetFileNameInformation)
NTSTATUS FLTAPI FltGetFileNameInformationUnsafe(_In_ PFILE_OBJECT FileObject, _In_opt_ PFLT_INSTANCE Instance, _In_ FLT_FILE_NAME_OPTIONS NameOptions, _Outptr_ PFLT_FILE_NAME_INFORMATION *FileNameInformation)
VOID FLTAPI FltFreeSecurityDescriptor(_In_ PSECURITY_DESCRIPTOR SecurityDescriptor)
NTSTATUS FLTAPI FltGetDiskDeviceObject(_In_ PFLT_VOLUME Volume, _Outptr_ PDEVICE_OBJECT *DiskDeviceObject)
NTSTATUS FLTAPI FltGetFileNameInformation(_In_ PFLT_CALLBACK_DATA CallbackData, _In_ FLT_FILE_NAME_OPTIONS NameOptions, _Outptr_ PFLT_FILE_NAME_INFORMATION *FileNameInformation)
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
NTSTATUS FLTAPI FltGetVolumeProperties(_In_ PFLT_VOLUME Volume, _Out_writes_bytes_to_opt_(VolumePropertiesLength, *LengthReturned) PFLT_VOLUME_PROPERTIES VolumeProperties, _In_ ULONG VolumePropertiesLength, _Out_ PULONG LengthReturned)
NTSTATUS FLTAPI FltDetachVolume(_Inout_ PFLT_FILTER Filter, _Inout_ PFLT_VOLUME Volume, _In_opt_ PCUNICODE_STRING InstanceName)
NTSTATUS FLTAPI FltAttachVolume(_Inout_ PFLT_FILTER Filter, _Inout_ PFLT_VOLUME Volume, _In_opt_ PCUNICODE_STRING InstanceName, _Outptr_opt_result_maybenull_ PFLT_INSTANCE *RetInstance)
NTSTATUS FLTAPI FltEnumerateVolumes(_In_ PFLT_FILTER Filter, _Out_writes_to_opt_(VolumeListSize, *NumberVolumesReturned) PFLT_VOLUME *VolumeList, _In_ ULONG VolumeListSize, _Out_ PULONG NumberVolumesReturned)
NTSTATUS FLTAPI FltGetVolumeName(_In_ PFLT_VOLUME Volume, _Inout_opt_ PUNICODE_STRING VolumeName, _Out_opt_ PULONG BufferSizeNeeded)
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
#define _Acquires_lock_(lock)
#define _Requires_lock_held_(lock)
#define _Requires_lock_not_held_(lock)
#define _Releases_lock_(lock)
_In_ PIRP _In_ PVOID InsertContext
_In_opt_ PIRP _In_opt_ PVOID PeekContext
#define _IRQL_requires_max_(irql)
struct _FLT_GENERIC_WORKITEM * PFLT_GENERIC_WORKITEM
_Must_inspect_result_ _In_ CONST FLT_REGISTRATION * Registration
_Must_inspect_result_ NTSTATUS FLTAPI FltCbdqInsertIo(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_ PFLT_CALLBACK_DATA Cbd, _In_opt_ PFLT_CALLBACK_DATA_QUEUE_IO_CONTEXT Context, _In_opt_ PVOID InsertContext)
PMDL FASTCALL FltGetSwappedBufferMdlAddress(_In_ PFLT_CALLBACK_DATA CallbackData)
_Must_inspect_result_ _Inout_opt_ PUNICODE_STRING VolumeName
_Must_inspect_result_ _In_ PFLT_PORT _In_ ULONG SenderBufferLength
_Must_inspect_result_ _In_opt_ PFLT_FILTER _In_ ULONG _Out_ PULONG NumberInstancesReturned
_Must_inspect_result_ _In_ PKTRANSACTION _In_ PFLT_CONTEXT TransactionContext
struct _FLT_DEFERRED_IO_WORKITEM * PFLT_DEFERRED_IO_WORKITEM
struct _FLT_RELATED_CONTEXTS * PFLT_RELATED_CONTEXTS
_In_ PCUNICODE_STRING _Outptr_ PFLT_VOLUME * RetVolume
_Out_opt_ PIO_PRIORITY_INFO OutputPriorityInfo
VOID FASTCALL FltRetainSwappedBufferMdlAddress(_In_ PFLT_CALLBACK_DATA CallbackData)
struct _FLT_FILTER * PFLT_FILTER
VOID(FLTAPI * PFLTOPLOCK_PREPOST_CALLBACKDATA_ROUTINE)(_In_ PFLT_CALLBACK_DATA CallbackData, _In_opt_ PVOID Context)
_Must_inspect_result_ _In_ ULONG VolumeListSize
VOID(FLTAPI * PFLT_DEFERRED_IO_WORKITEM_ROUTINE)(_In_ PFLT_DEFERRED_IO_WORKITEM FltWorkItem, _In_ PFLT_CALLBACK_DATA CallbackData, _In_opt_ PVOID Context)
_In_ FLT_SET_CONTEXT_OPERATION Operation
_Must_inspect_result_ _Out_ PHANDLE _Outptr_opt_ PFILE_OBJECT * VolumeFileObject
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ BOOLEAN _In_ ULONG _In_opt_ PULONG _In_ BOOLEAN RestartScan
_Must_inspect_result_ PFLT_CALLBACK_DATA FLTAPI FltCbdqRemoveIo(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_ PFLT_CALLBACK_DATA_QUEUE_IO_CONTEXT Context)
VOID(FLTAPI * PFLT_CONTEXT_FREE_CALLBACK)(_In_ PVOID Pool, _In_ FLT_CONTEXT_TYPE ContextType)
struct _FLT_FILE_NAME_INFORMATION FLT_FILE_NAME_INFORMATION
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ FLT_IO_OPERATION_FLAGS _Out_opt_ PULONG _In_opt_ PFLT_COMPLETED_ASYNC_IO_CALLBACK _In_opt_ PVOID CallbackContext
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ ULONG OpenCount
NTSTATUS(FLTAPI * PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags)
VOID(FLTAPI * PFLT_INSTANCE_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Reason)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ BOOLEAN _In_ ULONG EaListLength
struct _FLT_CALLBACK_DATA_QUEUE * PFLT_CALLBACK_DATA_QUEUE
NTSTATUS FLTAPI FltDecodeParameters(_In_ PFLT_CALLBACK_DATA CallbackData, _Outptr_opt_ PMDL **MdlAddressPointer, _Outptr_opt_result_bytebuffer_(**Length) PVOID **Buffer, _Outptr_opt_ PULONG *Length, _Out_opt_ LOCK_OPERATION *DesiredAccess)
ULONG FLT_OPERATION_REGISTRATION_FLAGS
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG _In_ PFLT_CALLBACK_DATA _In_opt_ PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback
_In_ IO_PRIORITY_HINT PriorityHint
struct _FLT_REGISTRATION FLT_REGISTRATION
_In_ FLT_CONTEXT_TYPE DesiredContexts
FLT_POSTOP_CALLBACK_STATUS(FLTAPI * PFLT_POST_OPERATION_CALLBACK)(_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_opt_ PVOID CompletionContext, _In_ FLT_POST_OPERATION_FLAGS Flags)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FILE_INFORMATION_CLASS FileInformationClass
VOID FLTAPI FltCbdqEnable(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FS_INFORMATION_CLASS FsInformationClass
USHORT FLT_CONTEXT_REGISTRATION_FLAGS
PCHAR FLTAPI FltGetIrpName(_In_ UCHAR IrpMajorCode)
NTSTATUS(FLTAPI * PFLT_TRANSACTION_NOTIFICATION_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PFLT_CONTEXT TransactionContext, _In_ ULONG NotificationMask)
USHORT FLT_FILE_NAME_PARSED_FLAGS
VOID(FLTAPI * PFLT_COMPLETED_ASYNC_IO_CALLBACK)(_In_ PFLT_CALLBACK_DATA CallbackData, _In_ PFLT_CONTEXT Context)
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
_Must_inspect_result_ _In_ PFLT_INSTANCE _Out_ PBOOLEAN IsDirectory
_Must_inspect_result_ _In_opt_ PUNLOCK_ROUTINE UnlockRoutine
_Inout_opt_ PUNICODE_STRING Extension
_Outptr_ PFLT_PORT * ClientPort
struct _FLT_INSTANCE * PFLT_INSTANCE
enum _FLT_POSTOP_CALLBACK_STATUS FLT_POSTOP_CALLBACK_STATUS
_FLT_SET_CONTEXT_OPERATION
@ FLT_SET_CONTEXT_KEEP_IF_EXISTS
@ FLT_SET_CONTEXT_REPLACE_IF_EXISTS
_Must_inspect_result_ _Inout_ PFLT_VOLUME Volume
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA CallbackData
struct _FLT_VOLUME_PROPERTIES * PFLT_VOLUME_PROPERTIES
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG FsControlCode
ULONG FLT_INSTANCE_TEARDOWN_FLAGS
ULONG FLT_IO_OPERATION_FLAGS
_Must_inspect_result_ _Out_ PULONG SessionId
ULONG FLT_INSTANCE_SETUP_FLAGS
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
_Must_inspect_result_ _In_opt_ PFILE_OBJECT _Outptr_ PFLT_CALLBACK_DATA * RetNewCallbackData
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG Flags
struct _FLT_FILE_NAME_INFORMATION * PFLT_FILE_NAME_INFORMATION
ULONG FLT_FILE_NAME_OPTIONS
_Must_inspect_result_ _In_ PFLT_PORT _In_ ULONG _Out_writes_bytes_opt_ ReplyLength PVOID ReplyBuffer
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ HANDLE _In_ ULONG FileNameLength
LONG FLTAPI FltCompareInstanceAltitudes(_In_ PFLT_INSTANCE Instance1, _In_ PFLT_INSTANCE Instance2)
_Must_inspect_result_ _In_ LPCGUID ULONG SizeOfContext
_Outptr_ PFLT_INSTANCE * UpperInstance
_Must_inspect_result_ PFLT_CALLBACK_DATA FLTAPI FltCbdqRemoveNextIo(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_opt_ PVOID PeekContext)
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_opt_ PCUNICODE_STRING InstanceName
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
_Must_inspect_result_ _In_ LPCGUID ULONG _In_ FSRTL_ALLOCATE_ECP_FLAGS _In_opt_ PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK CleanupCallback
ULONG FLT_FILTER_UNLOAD_FLAGS
struct _FLT_IO_PARAMETER_BLOCK * PFLT_IO_PARAMETER_BLOCK
#define FLTFL_IO_OPERATION_PAGING
struct _FLT_CONTEXT_REGISTRATION * PFLT_CONTEXT_REGISTRATION
union _FLT_PARAMETERS * PFLT_PARAMETERS
NTSTATUS(FLTAPI * PFLT_NORMALIZE_NAME_COMPONENT_EX)(_In_ PFLT_INSTANCE Instance, _In_ PFILE_OBJECT FileObject, _In_ PCUNICODE_STRING ParentDirectory, _In_ USHORT VolumeNameLength, _In_ PCUNICODE_STRING Component, _Out_writes_bytes_(ExpandComponentNameLength) PFILE_NAMES_INFORMATION ExpandComponentName, _In_ ULONG ExpandComponentNameLength, _In_ FLT_NORMALIZE_NAME_FLAGS Flags, _Inout_ PVOID *NormalizationContext)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD _Inout_ PIO_PRIORITY_INFO PriorityInfo
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ HANDLE _In_ ULONG _In_ FLT_FILE_NAME_OPTIONS _Outptr_ PFLT_FILE_NAME_INFORMATION * RetFileNameInformation
struct _FLT_REGISTRATION * PFLT_REGISTRATION
struct _FLT_OPERATION_REGISTRATION FLT_OPERATION_REGISTRATION
VOID FLTAPI FltCbdqDisable(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq)
IO_CSQ_IRP_CONTEXT FLT_CALLBACK_DATA_QUEUE_IO_CONTEXT
VOID(FLTAPI * PFLT_DISCONNECT_NOTIFY)(_In_opt_ PVOID ConnectionCookie)
_Must_inspect_result_ _In_ CONST FLT_REGISTRATION _Outptr_ PFLT_FILTER * RetFilter
#define FLTFL_IO_OPERATION_SYNCHRONOUS_PAGING
enum _FLT_PREOP_CALLBACK_STATUS FLT_PREOP_CALLBACK_STATUS
_In_ PFLT_INSTANCE _Out_ PBOOLEAN _Out_opt_ PBOOLEAN RedirectionAllowedAllIo
_FLT_PREOP_CALLBACK_STATUS
@ FLT_PREOP_DISALLOW_FASTIO
@ FLT_PREOP_SUCCESS_WITH_CALLBACK
@ FLT_PREOP_SUCCESS_NO_CALLBACK
_Inout_ PVOID _In_ FSRTL_ECP_LOOKASIDE_FLAGS _In_ SIZE_T Size
ULONG FLT_CALLBACK_DATA_QUEUE_FLAGS
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ BOOLEAN ReturnSingleEntry
_Must_inspect_result_ *NumberFiltersReturned PFLT_FILTER * FilterList
_FLT_POSTOP_CALLBACK_STATUS
@ FLT_POSTOP_MORE_PROCESSING_REQUIRED
@ FLT_POSTOP_FINISHED_PROCESSING
VOID(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_RELEASE)(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_opt_ KIRQL Irql)
_Must_inspect_result_ _In_ PFLT_PORT _In_ ULONG _Out_writes_bytes_opt_ ReplyLength PVOID _Inout_opt_ PULONG _In_opt_ PLARGE_INTEGER Timeout
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG _In_ PFLT_CALLBACK_DATA _In_opt_ PCHECK_FOR_TRAVERSE_ACCESS _In_opt_ PSECURITY_SUBJECT_CONTEXT _In_opt_ PFILTER_REPORT_CHANGE FilterCallback
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_opt_ PVOID _In_opt_ PFLTOPLOCK_WAIT_COMPLETE_ROUTINE _In_opt_ PFLTOPLOCK_PREPOST_CALLBACKDATA_ROUTINE PrePostCallbackDataRoutine
_In_ ULONG VolumePropertiesLength
_In_ PECP_LIST _In_opt_ PVOID CurrentEcpContext
_In_ FLT_SET_CONTEXT_OPERATION _In_ PFLT_CONTEXT NewContext
NTSTATUS(FLTAPI * PFLT_INSTANCE_SETUP_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_SETUP_FLAGS Flags, _In_ DEVICE_TYPE VolumeDeviceType, _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType)
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE _In_ WORK_QUEUE_TYPE QueueType
VOID(FLTAPI * PFLT_COMPLETE_CANCELED_CALLBACK)(_In_ PFLT_CALLBACK_DATA CallbackData)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION _In_ ULONG _Out_opt_ PULONG LengthNeeded
_In_ PECP_LIST _In_opt_ PVOID _Out_opt_ LPGUID _Outptr_opt_ PVOID * NextEcpContext
BOOLEAN FLTAPI FltOplockKeysEqual(_In_opt_ PFILE_OBJECT Fo1, _In_opt_ PFILE_OBJECT Fo2)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FILE_INFORMATION_CLASS _Out_opt_ PULONG LengthReturned
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING FullDirectoryName
NTSTATUS(FLTAPI * PFLT_MESSAGE_NOTIFY)(_In_opt_ PVOID PortCookie, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_to_opt_(OutputBufferLength, *ReturnOutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _Out_ PULONG ReturnOutputBufferLength)
struct _FLT_CALLBACK_DATA_QUEUE FLT_CALLBACK_DATA_QUEUE
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FILE_INFORMATION_CLASS _In_ BOOLEAN _In_opt_ PUNICODE_STRING FileName
enum _FLT_PREOP_CALLBACK_STATUS * PFLT_PREOP_CALLBACK_STATUS
VOID(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_COMPLETE_CANCELED_IO)(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _Inout_ PFLT_CALLBACK_DATA Cbd)
_In_ PECP_LIST _In_opt_ PVOID _Out_opt_ LPGUID NextEcpType
_Must_inspect_result_ _In_ PFLT_GET_OPERATION_STATUS_CALLBACK _In_opt_ PVOID RequesterContext
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY MessageNotifyCallback
_Must_inspect_result_ _In_ FSRTL_ALLOCATE_ECPLIST_FLAGS _Outptr_ PECP_LIST * EcpList
_Must_inspect_result_ *NumberFiltersReturned PFLT_FILTER _In_ ULONG FilterListSize
_Must_inspect_result_ _In_opt_ PFLT_FILTER _In_ ULONG InstanceListSize
_Outptr_ PDEVICE_OBJECT * DiskDeviceObject
struct _FLT_IO_PARAMETER_BLOCK FLT_IO_PARAMETER_BLOCK
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
_In_ PECP_LIST _In_opt_ PVOID _Out_opt_ LPGUID _Outptr_opt_ PVOID _Out_opt_ ULONG * NextEcpContextSize
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG ShareAccess
struct _FLT_CONTEXT_REGISTRATION FLT_CONTEXT_REGISTRATION
NTSTATUS(FLTAPI * PFLT_NORMALIZE_NAME_COMPONENT)(_In_ PFLT_INSTANCE Instance, _In_ PCUNICODE_STRING ParentDirectory, _In_ USHORT VolumeNameLength, _In_ PCUNICODE_STRING Component, _Out_writes_bytes_(ExpandComponentNameLength) PFILE_NAMES_INFORMATION ExpandComponentName, _In_ ULONG ExpandComponentNameLength, _In_ FLT_NORMALIZE_NAME_FLAGS Flags, _Inout_ PVOID *NormalizationContext)
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA Data
VOID FLTAPI FltClearCallbackDataDirty(_Inout_ PFLT_CALLBACK_DATA Data)
_Must_inspect_result_ _Inout_opt_ PUNICODE_STRING _Out_opt_ PULONG BufferSizeNeeded
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_opt_ PVOID _In_opt_ PFLTOPLOCK_WAIT_COMPLETE_ROUTINE WaitCompletionRoutine
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG InputBufferLength
VOID(FLTAPI * PFLT_NORMALIZE_CONTEXT_CLEANUP)(_In_opt_ PVOID *NormalizationContext)
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN WatchTree
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN IgnoreBuffer
_Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING FinalComponent
_Must_inspect_result_ _In_ FLT_FILE_NAME_OPTIONS NameOptions
VOID(FLTAPI * PFLT_GENERIC_WORKITEM_ROUTINE)(_In_ PFLT_GENERIC_WORKITEM FltWorkItem, _In_ PVOID FltObject, _In_opt_ PVOID Context)
struct _FLT_OPERATION_REGISTRATION * PFLT_OPERATION_REGISTRATION
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG _In_ PFLT_CALLBACK_DATA NotifyCallbackData
_In_ PFLT_INSTANCE TargetInstance
struct _FLT_PORT * PFLT_PORT
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ BOOLEAN _In_ ULONG _In_opt_ PULONG EaIndex
VOID FLTAPI FltSetCallbackDataDirty(_Inout_ PFLT_CALLBACK_DATA Data)
_Outptr_ PFLT_INSTANCE * LowerInstance
struct _FLT_RELATED_OBJECTS * PFLT_RELATED_OBJECTS
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
struct _FLT_CALLBACK_DATA * PFLT_CALLBACK_DATA
_In_ FLT_PREOP_CALLBACK_STATUS CallbackStatus
ULONG FLT_ALLOCATE_CALLBACK_DATA_FLAGS
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES ObjectAttributes
ULONG FLT_REGISTRATION_FLAGS
NTSTATUS(FLTAPI * PFLT_CONNECT_NOTIFY)(_In_ PFLT_PORT ClientPort, _In_opt_ PVOID ServerPortCookie, _In_reads_bytes_opt_(SizeOfContext) PVOID ConnectionContext, _In_ ULONG SizeOfContext, _Outptr_result_maybenull_ PVOID *ConnectionPortCookie)
NTSTATUS(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_INSERT_IO)(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_ PFLT_CALLBACK_DATA Cbd, _In_opt_ PVOID InsertContext)
ULONG FLT_INSTANCE_QUERY_TEARDOWN_FLAGS
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG FileTag
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_ PCUNICODE_STRING Altitude
NTSTATUS FLTAPI FltCbdqInitialize(_In_ PFLT_INSTANCE Instance, _Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_ PFLT_CALLBACK_DATA_QUEUE_INSERT_IO CbdqInsertIo, _In_ PFLT_CALLBACK_DATA_QUEUE_REMOVE_IO CbdqRemoveIo, _In_ PFLT_CALLBACK_DATA_QUEUE_PEEK_NEXT_IO CbdqPeekNextIo, _In_ PFLT_CALLBACK_DATA_QUEUE_ACQUIRE CbdqAcquire, _In_ PFLT_CALLBACK_DATA_QUEUE_RELEASE CbdqRelease, _In_ PFLT_CALLBACK_DATA_QUEUE_COMPLETE_CANCELED_IO CbdqCompleteCanceledIo)
_In_ PFLT_INSTANCE _Out_opt_ PBOOLEAN SourceDeviceStackSizeModified
_Must_inspect_result_ _In_ PFLT_GET_OPERATION_STATUS_CALLBACK CallbackRoutine
_Must_inspect_result_ _In_ FLT_FILE_NAME_OPTIONS _Outptr_ PFLT_FILE_NAME_INFORMATION * FileNameInformation
enum _FLT_SET_CONTEXT_OPERATION * PFLT_SET_CONTEXT_OPERATION
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
_In_ FLT_CONTEXT_TYPE _Out_ PFLT_RELATED_CONTEXTS Contexts
_Must_inspect_result_ _Out_ PHANDLE VolumeHandle
_Must_inspect_result_ BOOLEAN FLTAPI FltDoCompletionProcessingWhenSafe(_In_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_opt_ PVOID CompletionContext, _In_ FLT_POST_OPERATION_FLAGS Flags, _In_ PFLT_POST_OPERATION_CALLBACK SafePostCallback, _Out_ PFLT_POSTOP_CALLBACK_STATUS RetPostOperationStatus)
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_opt_ PCUNICODE_STRING _Outptr_opt_result_maybenull_ PFLT_INSTANCE * RetInstance
_In_ PFLT_INSTANCE _Out_ PBOOLEAN RedirectionAllowedThisIo
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ PLARGE_INTEGER ByteOffset
VOID(FLTAPI * PFLT_GET_OPERATION_STATUS_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PFLT_IO_PARAMETER_BLOCK IopbSnapshot, _In_ NTSTATUS OperationStatus, _In_opt_ PVOID RequesterContext)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
struct _FLT_RELATED_CONTEXTS FLT_RELATED_CONTEXTS
BOOLEAN FLTAPI FltIsCallbackDataDirty(_In_ PFLT_CALLBACK_DATA Data)
#define FLT_IS_IRP_OPERATION(Data)
_Inout_opt_ PUNICODE_STRING _Inout_opt_ PUNICODE_STRING Stream
_Must_inspect_result_ _In_ PFILE_OBJECT _In_opt_ HANDLE RootDirectory
enum _FLT_POSTOP_CALLBACK_STATUS * PFLT_POSTOP_CALLBACK_STATUS
const struct _FLT_RELATED_OBJECTS * PCFLT_RELATED_OBJECTS
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG EaLength
IO_CSQ_IRP_CONTEXT * PFLT_CALLBACK_DATA_QUEUE_IO_CONTEXT
_Must_inspect_result_ _In_ PFLT_PORT _In_ ULONG _Out_writes_bytes_opt_ ReplyLength PVOID _Inout_opt_ PULONG ReplyLength
union _FLT_PARAMETERS FLT_PARAMETERS
NTSTATUS(FLTAPI * PFLT_GENERATE_FILE_NAME)(_In_ PFLT_INSTANCE Instance, _In_ PFILE_OBJECT FileObject, _In_opt_ PFLT_CALLBACK_DATA CallbackData, _In_ FLT_FILE_NAME_OPTIONS NameOptions, _Out_ PBOOLEAN CacheFileNameInformation, _Out_ PFLT_NAME_CONTROL FileName)
_Out_ PFLT_FILESYSTEM_TYPE FileSystemType
enum _FLT_SET_CONTEXT_OPERATION FLT_SET_CONTEXT_OPERATION
VOID(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_REMOVE_IO)(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_ PFLT_CALLBACK_DATA Cbd)
_Must_inspect_result_ _In_ PKTRANSACTION _In_ PFLT_CONTEXT _In_ NOTIFICATION_MASK NotificationMask
struct _FLT_RELATED_OBJECTS FLT_RELATED_OBJECTS
PVOID(FLTAPI * PFLT_CONTEXT_ALLOCATE_CALLBACK)(_In_ POOL_TYPE PoolType, _In_ SIZE_T Size, _In_ FLT_CONTEXT_TYPE ContextType)
struct _FLT_NAME_CONTROL FLT_NAME_CONTROL
_Must_inspect_result_ _In_ PFLT_CALLBACK_DATA _In_ PFLT_DEFERRED_IO_WORKITEM_ROUTINE WorkerRoutine
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER AllocationSize
struct _FLT_CALLBACK_DATA FLT_CALLBACK_DATA
_Must_inspect_result_ _In_ PVOID FltObject
VOID FLTAPI FltUninitializeFileLock(_In_ PFILE_LOCK FileLock)
_In_ PECP_LIST _In_ LPCGUID _Outptr_opt_ PVOID _Out_opt_ ULONG * EcpContextSize
struct _FLT_VOLUME * PFLT_VOLUME
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T _In_ POOL_TYPE PoolType
_Must_inspect_result_ _Out_ PUNICODE_STRING VolumeGuidName
ULONG FLT_CALLBACK_DATA_FLAGS
struct _FLT_TAG_DATA_BUFFER * PFLT_TAG_DATA_BUFFER
PFLT_CALLBACK_DATA(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_PEEK_NEXT_IO)(_In_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _In_opt_ PFLT_CALLBACK_DATA Cbd, _In_opt_ PVOID PeekContext)
BOOLEAN FLTAPI FltIsIoCanceled(_In_ PFLT_CALLBACK_DATA CallbackData)
VOID(FLTAPI * PFLT_CONTEXT_CLEANUP_CALLBACK)(_In_ PFLT_CONTEXT Context, _In_ FLT_CONTEXT_TYPE ContextType)
_Inout_ PLIST_ENTRY NotifyList
_Must_inspect_result_ *NumberFiltersReturned PFLT_FILTER _In_ ULONG _Out_ PULONG NumberFiltersReturned
NTSTATUS(FLTAPI * PFLT_FILTER_UNLOAD_CALLBACK)(FLT_FILTER_UNLOAD_FLAGS Flags)
_Must_inspect_result_ _In_ LPCGUID _In_ ULONG _In_ FSRTL_ALLOCATE_ECP_FLAGS _In_opt_ PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK _Inout_ PVOID LookasideList
_In_ FLT_PREOP_CALLBACK_STATUS _In_opt_ PVOID Context
_In_ PFLT_COMPLETE_CANCELED_CALLBACK CanceledCallback
struct _FLT_NAME_CONTROL * PFLT_NAME_CONTROL
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE Instance
_Must_inspect_result_ _In_ USHORT NewSize
_Must_inspect_result_ _Out_ PBOOLEAN IsWritable
BOOLEAN FLTAPI FltIsOperationSynchronous(_In_ PFLT_CALLBACK_DATA CallbackData)
_In_ FLT_SET_CONTEXT_OPERATION _In_ PFLT_CONTEXT _Outptr_opt_result_maybenull_ PFLT_CONTEXT * OldContext
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG _In_ PFLT_CALLBACK_DATA _In_opt_ PCHECK_FOR_TRAVERSE_ACCESS _In_opt_ PSECURITY_SUBJECT_CONTEXT SubjectContext
VOID(FLTAPI * PFLT_CALLBACK_DATA_QUEUE_ACQUIRE)(_Inout_ PFLT_CALLBACK_DATA_QUEUE Cbdq, _Out_opt_ PKIRQL Irql)
_Inout_ PLIST_ENTRY _In_ PVOID FsContext
_In_ PFLT_INSTANCE _Out_ PBOOLEAN RedirectionAllowed
NTSTATUS(* PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE)(_In_opt_ PVOID Context, _In_ PFLT_CALLBACK_DATA CallbackData)
_Must_inspect_result_ _In_opt_ PFILE_OBJECT FileObject
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
struct _FLT_TAG_DATA_BUFFER FLT_TAG_DATA_BUFFER
_Must_inspect_result_ _Out_ PBOOLEAN IsSnapshotVolume
ULONG FLT_NORMALIZE_NAME_FLAGS
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY _In_opt_ PFLT_MESSAGE_NOTIFY _In_ LONG MaxConnections
_Must_inspect_result_ _In_ LPCGUID ULONG _In_ FSRTL_ALLOCATE_ECP_FLAGS _In_opt_ PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK _In_ ULONG _Outptr_ PVOID * EcpContext
const struct _FLT_CONTEXT_REGISTRATION * PCFLT_CONTEXT_REGISTRATION
_Must_inspect_result_ _In_ PFLT_FILE_NAME_INFORMATION _Outptr_result_maybenull_ PFLT_FILE_NAME_INFORMATION * RetTunneledFileNameInformation
ULONG FLT_POST_OPERATION_FLAGS
VOID(FLTAPI * PFLTOPLOCK_WAIT_COMPLETE_ROUTINE)(_In_ PFLT_CALLBACK_DATA CallbackData, _In_opt_ PVOID Context)
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE ContextType
_Must_inspect_result_ _In_ ULONG _Out_ PULONG NumberVolumesReturned
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ ULONG _In_ ULONG OutputBufferLength
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_opt_ GUID _In_ USHORT DataBufferLength
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK IoStatusBlock
_Must_inspect_result_ _Out_ PIO_STATUS_BLOCK Iosb
VOID FLTAPI FltInitializeFileLock(_Out_ PFILE_LOCK FileLock)
_In_ FILTER_INFORMATION_CLASS InformationClass
FLT_PREOP_CALLBACK_STATUS(FLTAPI * PFLT_PRE_OPERATION_CALLBACK)(_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Outptr_result_maybenull_ PVOID *CompletionContext)
_Must_inspect_result_ _In_ LPCGUID EcpType
struct _FLT_VOLUME_PROPERTIES FLT_VOLUME_PROPERTIES
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
enum _FSINFOCLASS FS_INFORMATION_CLASS
_Must_inspect_result_ _In_ WAIT_TYPE _In_opt_ PLARGE_INTEGER _In_opt_ PKWAIT_BLOCK WaitBlockArray
_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT _In_opt_ PSTRING _In_opt_ PSTRING _In_ ULONG _In_ ULONG _In_opt_ PVOID _In_opt_ PVOID FilterContext
_In_opt_ PFILE_OBJECT Fo2
VOID(* PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK)(_Inout_ PVOID EcpContext, _In_ LPCGUID EcpType)
ULONG FSRTL_ECP_LOOKASIDE_FLAGS
VOID(NTAPI * PUNLOCK_ROUTINE)(_In_ PVOID Context, _In_ PFILE_LOCK_INFO FileLockInfo)
BOOLEAN(NTAPI * PCHECK_FOR_TRAVERSE_ACCESS)(_In_ PVOID NotifyContext, _In_opt_ PVOID TargetContext, _In_ PSECURITY_SUBJECT_CONTEXT SubjectContext)
BOOLEAN(NTAPI * PFILTER_REPORT_CHANGE)(_In_ PVOID NotifyContext, _In_ PVOID FilterContext)
ULONG FSRTL_ALLOCATE_ECP_FLAGS
ULONG FSRTL_ALLOCATE_ECPLIST_FLAGS
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
static OUT PIO_STATUS_BLOCK OUT PVOID FileInformation
DWORD SECURITY_INFORMATION
#define _Out_writes_to_opt_(s, c)
#define _In_reads_bytes_(s)
#define _Outptr_result_bytebuffer_(s)
#define _Outptr_result_maybenull_
#define _Inout_updates_bytes_opt_(s)
#define _Outptr_opt_result_maybenull_
#define _Out_writes_bytes_opt_(s)
#define _Out_writes_bytes_to_(s, c)
#define _Must_inspect_result_
#define _Out_writes_bytes_to_opt_(s, c)
#define _Out_writes_bytes_(s)
#define _Outptr_opt_result_bytebuffer_(s)
#define _In_reads_bytes_opt_(s)
#define _ANONYMOUS_STRUCT
_In_ ULONG _In_ ULONG _In_ ULONG Length
enum _WAIT_TYPE WAIT_TYPE
FLT_CALLBACK_DATA_QUEUE_FLAGS Flags
PFLT_CALLBACK_DATA_QUEUE_INSERT_IO InsertIo
PFLT_CALLBACK_DATA_QUEUE_COMPLETE_CANCELED_IO CompleteCanceledIo
PFLT_CALLBACK_DATA_QUEUE_PEEK_NEXT_IO PeekNextIo
PFLT_CALLBACK_DATA_QUEUE_ACQUIRE Acquire
PFLT_CALLBACK_DATA_QUEUE_REMOVE_IO RemoveIo
PFLT_CALLBACK_DATA_QUEUE_RELEASE Release
struct _FLT_TAG_DATA_BUFFER * TagData
PFLT_IO_PARAMETER_BLOCK CONST Iopb
_ANONYMOUS_UNION union _FLT_CALLBACK_DATA::@2028 DUMMYUNIONNAME
FLT_CALLBACK_DATA_FLAGS Flags
KPROCESSOR_MODE RequestorMode
PFLT_CONTEXT_ALLOCATE_CALLBACK ContextAllocateCallback
PFLT_CONTEXT_FREE_CALLBACK ContextFreeCallback
FLT_CONTEXT_TYPE ContextType
FLT_CONTEXT_REGISTRATION_FLAGS Flags
PFLT_CONTEXT_CLEANUP_CALLBACK ContextCleanupCallback
PFLT_INSTANCE TargetInstance
FLT_PARAMETERS Parameters
PFILE_OBJECT TargetFileObject
PFLT_PRE_OPERATION_CALLBACK PreOperation
PFLT_POST_OPERATION_CALLBACK PostOperation
FLT_OPERATION_REGISTRATION_FLAGS Flags
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback
PFLT_NORMALIZE_NAME_COMPONENT_EX NormalizeNameComponentExCallback
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback
FLT_REGISTRATION_FLAGS Flags
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback
PFLT_GENERATE_FILE_NAME GenerateFileNameCallback
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback
CONST FLT_CONTEXT_REGISTRATION * ContextRegistration
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback
PFLT_TRANSACTION_NOTIFICATION_CALLBACK TransactionNotificationCallback
PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback
CONST FLT_OPERATION_REGISTRATION * OperationRegistration
PFLT_CONTEXT TransactionContext
PFLT_CONTEXT StreamContext
PFLT_CONTEXT VolumeContext
PFLT_CONTEXT InstanceContext
PFLT_CONTEXT StreamHandleContext
struct _FLT_TAG_DATA_BUFFER::@2030::@2032 MountPointReparseBuffer
struct _FLT_TAG_DATA_BUFFER::@2030::@2033 GenericReparseBuffer
_ANONYMOUS_UNION union _FLT_TAG_DATA_BUFFER::@2030 DUMMYUNIONNAME
struct _FLT_TAG_DATA_BUFFER::@2030::@2031 SymbolicLinkReparseBuffer
USHORT SubstituteNameLength
struct _FLT_TAG_DATA_BUFFER::@2030::@2034 GenericGUIDReparseBuffer
USHORT SubstituteNameOffset
USHORT UnparsedNameLength
UNICODE_STRING FileSystemDriverName
ULONG DeviceCharacteristics
UNICODE_STRING FileSystemDeviceName
UNICODE_STRING RealDeviceName
ULONG AlignmentRequirement
BOOLEAN POINTER_ALIGNMENT CheckForReadOperation
ULONG POINTER_ALIGNMENT Spare1
ULONG POINTER_ALIGNMENT Key
DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type
PFILE_OBJECT ParentOfTarget
PVOID InterfaceSpecificData
PLARGE_INTEGER EndingOffset
PDEVICE_CAPABILITIES Capabilities
struct _FLT_PARAMETERS::@1984::@2008 VerifyVolume
PERESOURCE ResourceToRelease
PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList
struct _FLT_PARAMETERS::@1973 CreatePipe
LARGE_INTEGER AllocationSize
struct _FLT_PARAMETERS::@1984::@2011 Buffered
struct _FLT_PARAMETERS::@1997 NetworkQueryOpen
struct _FLT_PARAMETERS::@1993 AcquireForSectionSynchronization
struct _FLT_PARAMETERS::@1972 Create
struct _FLT_PARAMETERS::@1986 LockControl
DEVICE_RELATION_TYPE Type
struct _FLT_PARAMETERS::@1989 WMI
union _FLT_PARAMETERS::@1992 Pnp
PERESOURCE * ResourceToRelease
ULONG POINTER_ALIGNMENT EaLength
struct _FLT_PARAMETERS::@2001 MdlWriteComplete
struct _FLT_PARAMETERS::@1999 MdlReadComplete
struct _FLT_PARAMETERS::@1988 SetSecurity
struct _FLT_PARAMETERS::@1994 AcquireForModifiedPageWriter
FS_FILTER_SECTION_SYNC_TYPE SyncType
PCM_RESOURCE_LIST AllocatedResourcesTranslated
struct _FLT_PARAMETERS::@2003 Others
FILE_INFORMATION_CLASS FileInformationClass
ULONG POINTER_ALIGNMENT FileIndex
SECURITY_INFORMATION SecurityInformation
struct _FLT_PARAMETERS::@1974 CreateMailslot
struct _FLT_PARAMETERS::@2002 MountVolume
struct _FLT_PARAMETERS::@1987 QuerySecurity
struct _FLT_PARAMETERS::@1992::@2018 StartDevice
ULONG POINTER_ALIGNMENT Spare2
_ANONYMOUS_UNION union _FLT_PARAMETERS::@1978::@2004 DUMMYUNIONNAME
struct _FLT_PARAMETERS::@1992::@2023 ReadWriteConfig
struct _FLT_PARAMETERS::@1981 QueryVolumeInformation
struct _FLT_PARAMETERS::@1992::@2024 SetLock
FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass
struct _FLT_PARAMETERS::@1978 SetFileInformation
union _FLT_PARAMETERS::@1983 DirectoryControl
ULONG POINTER_ALIGNMENT Length
ULONG POINTER_ALIGNMENT EaIndex
_ANONYMOUS_STRUCT struct _FLT_PARAMETERS::@1978::@2004::@2005 DUMMYSTRUCTNAME
DEVICE_TEXT_TYPE DeviceTextType
struct _FLT_PARAMETERS::@2000 PrepareMdlWrite
struct _FLT_PARAMETERS::@1984::@2009 Common
ULONG POINTER_ALIGNMENT LockKey
struct _FLT_PARAMETERS::@1980 SetEa
struct _FLT_PARAMETERS::@1995 ReleaseForModifiedPageWriter
struct _FLT_PARAMETERS::@1990 QueryQuota
PSECURITY_DESCRIPTOR SecurityDescriptor
USHORT POINTER_ALIGNMENT FileAttributes
struct _FLT_PARAMETERS::@1984::@2012 Direct
struct _FLT_PARAMETERS::@1992::@2022 FilterResourceRequirements
struct _FLT_PARAMETERS::@1992::@2027 UsageNotification
struct _FLT_PARAMETERS::@1983::@2007 NotifyDirectory
struct _FLT_PARAMETERS::@1983::@2006 QueryDirectory
ULONG POINTER_ALIGNMENT CompletionFilter
CONST GUID * InterfaceType
LCID POINTER_ALIGNMENT LocaleId
PFILE_NETWORK_OPEN_INFORMATION NetworkInformation
struct _FLT_PARAMETERS::@1984::@2010 Neither
FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass
PIO_SECURITY_CONTEXT SecurityContext
struct _FLT_PARAMETERS::@1977 QueryFileInformation
struct _FLT_PARAMETERS::@1996 FastIoCheckIfPossible
struct _FLT_PARAMETERS::@1992::@2020 QueryInterface
USHORT POINTER_ALIGNMENT Reserved
ULONG POINTER_ALIGNMENT InputBufferLength
struct _FLT_PARAMETERS::@1992::@2019 QueryDeviceRelations
struct _FLT_PARAMETERS::@1976 Write
struct _FLT_PARAMETERS::@1992::@2025 QueryId
ULONG POINTER_ALIGNMENT IoControlCode
struct _FLT_PARAMETERS::@1991 SetQuota
union _FLT_PARAMETERS::@1985 DeviceIoControl
struct _FLT_PARAMETERS::@1992::@2026 QueryDeviceText
union _FLT_PARAMETERS::@1984 FileSystemControl
struct _FLT_PARAMETERS::@1979 QueryEa
struct _FLT_PARAMETERS::@1982 SetVolumeInformation
struct _FLT_PARAMETERS::@1985::@2017 FastIo
PFILE_GET_QUOTA_INFORMATION SidList
struct _FLT_PARAMETERS::@1992::@2021 DeviceCapabilities
struct _FLT_PARAMETERS::@1998 MdlRead
ULONG POINTER_ALIGNMENT FsControlCode
PDEVICE_OBJECT DeviceObject
PCM_RESOURCE_LIST AllocatedResources
struct _FLT_PARAMETERS::@1975 Read
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDRIVER Driver
_In_ PDEVICE_OBJECT DeviceObject
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT DriverContext
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesWritten
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PLONGLONG _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesRead
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_opt_ ULONG _Out_ WDFLOOKASIDE * Lookaside
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG PoolTag
_Must_inspect_result_ _In_ WDFOBJECT _In_ CONST GUID * Guid
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
_In_ WDFREQUEST _In_opt_ PFN_WDF_REQUEST_COMPLETION_ROUTINE _In_opt_ __drv_aliasesMem WDFCONTEXT CompletionContext
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
#define POINTER_ALIGNMENT
_Reserved_ PVOID Reserved
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
_Must_inspect_result_ _In_ ULONG Flags
enum _WORK_QUEUE_TYPE WORK_QUEUE_TYPE
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_opt_ PVOID EaBuffer
enum _FS_FILTER_SECTION_SYNC_TYPE FS_FILTER_SECTION_SYNC_TYPE
enum _BUS_QUERY_ID_TYPE BUS_QUERY_ID_TYPE
enum _IO_PRIORITY_HINT IO_PRIORITY_HINT
enum _DEVICE_TEXT_TYPE DEVICE_TEXT_TYPE
enum _DEVICE_RELATION_TYPE DEVICE_RELATION_TYPE
enum _DEVICE_USAGE_NOTIFICATION_TYPE DEVICE_USAGE_NOTIFICATION_TYPE
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
enum _LOCK_OPERATION LOCK_OPERATION