Defines |
| #define | FsRtlEnterFileSystem KeEnterCriticalRegion |
| #define | FsRtlExitFileSystem KeLeaveCriticalRegion |
| #define | FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) |
| #define | FsRtlAreThereCurrentFileLocks(FL) |
| #define | FsRtlIncrementLockRequestsInProgress(FL) |
| #define | FsRtlDecrementLockRequestsInProgress(FL) |
| #define | LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray |
| #define | FsRtlIsAnsiCharacterWild(C) |
| #define | FsRtlIsAnsiCharacterLegalFat(C, WILD) |
| #define | FsRtlIsAnsiCharacterLegalHpfs(C, WILD) |
| #define | FsRtlIsAnsiCharacterLegalNtfs(C, WILD) |
| #define | FsRtlIsAnsiCharacterLegalNtfsStream(C, WILD_OK) |
| #define | FsRtlIsAnsiCharacterLegal(C, FLAGS) |
| #define | FsRtlTestAnsiCharacter(C, DEFAULT_RET, WILD_OK, FLAGS) |
| #define | FsRtlIsLeadDbcsCharacter(DBCS_CHAR) |
| #define | FsRtlIsUnicodeCharacterWild(C) |
| #define | FsRtlInitPerFileContext(_fc, _owner, _inst, _cb) |
| #define | FsRtlGetPerFileContextPointer(_fo) |
| #define | FsRtlSupportsPerFileContexts(_fo) |
| #define | FsRtlSetupAdvancedHeaderEx(_advhdr, _fmutx, _fctxptr) |
| #define | FsRtlGetPerStreamContextPointer(FO) |
| #define | FsRtlInitPerStreamContext(PSC, O, I, FC) |
| #define | FsRtlSupportsPerStreamContexts(FO) |
| #define | FsRtlLookupPerStreamContext(_sc, _oid, _iid) |
| #define | FsRtlInitPerFileObjectContext(_fc, _owner, _inst) ((_fc)->OwnerId = (_owner), (_fc)->InstanceId = (_inst)) |
| #define | FsRtlCompleteRequest(IRP, STATUS) |
Functions |
| | $if (_NTIFS_) _Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) NTKERNELAPI BOOLEAN NTAPI FsRtlCopyRead(_In_ PFILE_OBJECT FileObject |
_In_ PLARGE_INTEGER _In_ ULONG
_In_ BOOLEAN _In_ ULONG | _Out_writes_bytes_ (Length) PVOID Buffer |
| _Must_inspect_result_ | _IRQL_requires_max_ (PASSIVE_LEVEL) NTKERNELAPI BOOLEAN NTAPI FsRtlCopyWrite(_In_ PFILE_OBJECT FileObject |
_Must_inspect_result_ _In_
PLARGE_INTEGER _In_ ULONG _In_
BOOLEAN _In_ ULONG | _In_reads_bytes_ (Length) PVOID Buffer |
| _Must_inspect_result_ | _IRQL_requires_max_ (APC_LEVEL) NTKERNELAPI BOOLEAN NTAPI FsRtlMdlReadDev(_In_ PFILE_OBJECT FileObject |
_Must_inspect_result_
NTKERNELAPI BOOLEAN NTAPI | FsRtlIsTotalDeviceFailure (_In_ NTSTATUS Status) |
_Must_inspect_result_ Obsolete
NTKERNELAPI BOOLEAN NTAPI | FsRtlPrivateLock (_In_ PFILE_LOCK FileLock, _In_ PFILE_OBJECT FileObject, _In_ PLARGE_INTEGER FileOffset, _In_ PLARGE_INTEGER Length, _In_ PEPROCESS Process, _In_ ULONG Key, _In_ BOOLEAN FailImmediately, _In_ BOOLEAN ExclusiveLock, _Out_ PIO_STATUS_BLOCK IoStatus, _In_opt_ PIRP Irp, _In_opt_ __drv_aliasesMem PVOID Context, _In_ BOOLEAN AlreadySynchronized) |
_In_ ULONGLONG _In_
PUNICODE_STRING _In_
PUNICODE_STRING _In_ BOOLEAN
_In_ ULONG | _In_reads_bytes_ (DataLength) PVOID Data) |
| NTKERNELAPI NTSTATUS NTAPI | FsRtlNormalizeNtstatus (_In_ NTSTATUS Exception, _In_ NTSTATUS GenericException) |
_Must_inspect_result_
NTKERNELAPI BOOLEAN NTAPI | FsRtlIsNtstatusExpected (_In_ NTSTATUS Ntstatus) |
The FsRtlAllocateResource
routine is but is exported to
support existing driver
binaries Use
ExAllocateFromNPagedLookasideList
and ExInitializeResourceLite
instead NTKERNELAPI PERESOURCE
NTAPI | FsRtlAllocateResource (VOID) |
| Obsolete NTKERNELAPI VOID NTAPI | FsRtlInitializeMcb (_Out_ PMCB Mcb, _In_ POOL_TYPE PoolType) |
| | _When_ (CompletionRoutine!=NULL, _Must_inspect_result_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI NTSTATUS NTAPI FsRtlCheckOplock(_In_ POPLOCK Oplock |
_Must_inspect_result_ _In_
PCUNICODE_STRING _In_ BOOLEAN | _In_reads_opt_ (0x10000) PCWCH UpcaseTable) |
| | _IRQL_requires_max_ (DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI FsRtlPostPagingFileStackOverflow(_In_ PVOID Context |
| NTKERNELAPI VOID NTAPI | FsRtlIncrementCcFastReadNotPossible (VOID) |
| NTKERNELAPI VOID NTAPI | FsRtlIncrementCcFastReadWait (VOID) |
| NTKERNELAPI VOID NTAPI | FsRtlIncrementCcFastReadNoWait (VOID) |
| NTKERNELAPI VOID NTAPI | FsRtlIncrementCcFastReadResourceMiss (VOID) |
| | _When_ (!Flags &MCB_FLAG_RAISE_ON_ALLOCATION_FAILURE, _Must_inspect_result_) _IRQL_requires_max_(APC_LEVEL) BOOLEAN NTAPI FsRtlInitializeBaseMcbEx(_Out_ PBASE_MCB Mcb |
| _Must_inspect_result_ | _When_ (Irp!=NULL, _IRQL_requires_max_(PASSIVE_LEVEL)) _When_(Irp |
| _Must_inspect_result_ | _In_reads_ (Count) PVOID ObjectArray[] |
| NTKERNELAPI VOID NTAPI | FsRtlIncrementCcFastMdlReadWait (VOID) |
| _Must_inspect_result_ | _In_reads_bytes_ (BufferLength) PREPARSE_DATA_BUFFER ReparseBuffer) |
_Must_inspect_result_ _In_
ULONG _In_
FSRTL_ALLOCATE_ECP_FLAGS
_In_opt_
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK
_In_ ULONG | _Outptr_result_bytebuffer_ (SizeOfContext) PVOID *EcpContext) |
| | _When_ (Flags|FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(!(Flags|FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL) |
| NTKERNELAPI ULONG NTAPI | FsRtlQueryMaximumVirtualDiskNestingLevel (VOID) |
| NTKERNELAPI NTSTATUS NTAPI | FsRtlGetVirtualDiskNestingLevel (_In_ PDEVICE_OBJECT DeviceObject, _Out_ PULONG NestingLevel, _Out_opt_ PULONG NestingFlags) |
| | _When_ (Flags|OPLOCK_FLAG_BACK_OUT_ATOMIC_OPLOCK, _Must_inspect_result_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI NTSTATUS NTAPI FsRtlCheckOplockEx(_In_ POPLOCK Oplock |
| NTKERNELAPI NTSTATUS NTAPI | FsRtlInitializeExtraCreateParameterList (_Inout_ PECP_LIST EcpList) |
| NTKERNELAPI VOID NTAPI | FsRtlInitializeExtraCreateParameter (_Out_ PECP_HEADER Ecp, _In_ ULONG EcpFlags, _In_opt_ PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK CleanupCallback, _In_ ULONG TotalSize, _In_ LPCGUID EcpType, _In_opt_ PVOID ListAllocatedFrom) |
Variables |
| _In_ PLARGE_INTEGER | FileOffset |
| _In_ PLARGE_INTEGER _In_ ULONG | Length |
_In_ PLARGE_INTEGER _In_ ULONG
_In_ BOOLEAN | Wait |
_In_ PLARGE_INTEGER _In_ ULONG
_In_ BOOLEAN _In_ ULONG | LockKey |
_In_ PLARGE_INTEGER _In_ ULONG
_In_ BOOLEAN _In_ ULONG _Out_
PIO_STATUS_BLOCK | IoStatus |
_In_ PLARGE_INTEGER _In_ ULONG
_In_ BOOLEAN _In_ ULONG _Out_
PIO_STATUS_BLOCK _In_
PDEVICE_OBJECT | DeviceObject |
_Must_inspect_result_ _In_
PLARGE_INTEGER _In_ ULONG _In_
ULONG _Outptr_ PMDL * | MdlChain |
_Must_inspect_result_ _Out_
PLARGE_INTEGER | FileSize |
_Must_inspect_result_ _In_opt_
PUNLOCK_ROUTINE | UnlockRoutine |
| _In_opt_ PCOMPLETE_LOCK_IRP_ROUTINE | CompleteLockIrpRoutine |
| _Must_inspect_result_ _In_ PIRP | Irp |
_Must_inspect_result_ _In_
PIRP _In_opt_ PVOID | Context |
_Must_inspect_result_ _In_
PLARGE_INTEGER _In_
PLARGE_INTEGER _In_ ULONG | Key |
_Must_inspect_result_ _In_
PLARGE_INTEGER _In_
PLARGE_INTEGER _In_ ULONG _In_
PFILE_OBJECT | FileObject |
_Must_inspect_result_ _In_
PLARGE_INTEGER _In_
PLARGE_INTEGER _In_ ULONG _In_
PFILE_OBJECT _In_ PVOID | Process |
| _Must_inspect_result_ _In_ BOOLEAN | Restart |
_In_ PFILE_OBJECT _In_
PLARGE_INTEGER _In_
PLARGE_INTEGER _In_ PEPROCESS
_In_ ULONG _In_opt_ PVOID _In_
BOOLEAN | AlreadySynchronized |
| _In_ ULONGLONG | DirectoryKey |
| _In_ ULONGLONG _In_ PUNICODE_STRING | ShortName |
_In_ ULONGLONG _In_
PUNICODE_STRING _In_
PUNICODE_STRING | LongName |
_In_ ULONGLONG _In_
PUNICODE_STRING _In_
PUNICODE_STRING _In_ BOOLEAN | KeyByShortName |
_In_ ULONGLONG _In_
PUNICODE_STRING _In_
PUNICODE_STRING _In_ BOOLEAN
_In_ ULONG | DataLength |
_Must_inspect_result_ _In_
ULONGLONG _In_ PUNICODE_STRING | Name |
_Must_inspect_result_ _In_
ULONGLONG _In_ PUNICODE_STRING
_Out_ PUNICODE_STRING _Out_
PUNICODE_STRING _Inout_ PULONG
_Out_writes_bytes_to_
DataLength PVOID | Data |
| _Out_ PANSI_STRING | FirstPart |
_Out_ PANSI_STRING _Out_
PANSI_STRING | RemainingPart |
| _Must_inspect_result_ _In_ BOOLEAN | WildCardsPermissible |
_Must_inspect_result_ _In_
BOOLEAN _In_ BOOLEAN | PathNamePermissible |
_Must_inspect_result_ _In_
BOOLEAN _In_ BOOLEAN _In_
BOOLEAN | LeadingBackslashPermissible |
The FsRtlAllocateResource
routine is | obsolete |
| _In_ POOL_TYPE | PoolType |
| _In_ BOOLEAN | SelfSynchronized |
| _In_ LONGLONG | Vbn |
_Must_inspect_result_ _In_
LONGLONG _In_ LONGLONG | Lbn |
_Must_inspect_result_ _In_
LONGLONG _In_ LONGLONG _In_
LONGLONG | SectorCount |
_In_ LONGLONG _Out_opt_
PLONGLONG _Out_opt_ PLONGLONG | SectorCountFromLbn |
_In_ LONGLONG _Out_opt_
PLONGLONG _Out_opt_ PLONGLONG
_Out_opt_ PLONGLONG | StartingLbn |
_In_ LONGLONG _Out_opt_
PLONGLONG _Out_opt_ PLONGLONG
_Out_opt_ PLONGLONG _Out_opt_
PLONGLONG | SectorCountFromStartingLbn |
_In_ LONGLONG _Out_opt_
PLONGLONG _Out_opt_ PLONGLONG
_Out_opt_ PLONGLONG _Out_opt_
PLONGLONG _Out_opt_ PULONG | Index |
| _Out_ PLONGLONG | LargeVbn |
| _Out_ PLONGLONG _Out_ PLONGLONG | LargeLbn |
| _Must_inspect_result_ _In_ ULONG | RunIndex |
_Must_inspect_result_ _In_
LONGLONG _In_ LONGLONG | Amount |
_Must_inspect_result_ _In_
PIRP _In_ ULONG | OpenCount |
_In_ PIRP _In_opt_ PVOID
_In_opt_
POPLOCK_WAIT_COMPLETE_ROUTINE | CompletionRoutine |
_In_ PIRP _In_opt_ PVOID
_In_opt_
POPLOCK_WAIT_COMPLETE_ROUTINE
_In_opt_
POPLOCK_FS_PREPOST_IRP | PostIrpRoutine |
| _In_ ULONG | EventCode |
| _In_ PLIST_ENTRY | NotifyList |
| _In_ PLIST_ENTRY _In_ PVOID | FsContext |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING | FullDirectoryName |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN | WatchTree |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN | IgnoreBuffer |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN _In_ ULONG | CompletionFilter |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN _In_ ULONG _In_opt_
PIRP | NotifyIrp |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN _In_ ULONG _In_opt_
PIRP _In_opt_
PCHECK_FOR_TRAVERSE_ACCESS | TraverseCallback |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN _In_ ULONG _In_opt_
PIRP _In_opt_
PCHECK_FOR_TRAVERSE_ACCESS
_In_opt_
PSECURITY_SUBJECT_CONTEXT | SubjectContext |
| _In_ PLIST_ENTRY _In_ PSTRING | FullTargetName |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT | TargetNameOffset |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING | StreamName |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING
_In_opt_ PSTRING | NormalizedParentName |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING
_In_opt_ PSTRING _In_ ULONG | FilterMatch |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING
_In_opt_ PSTRING _In_ ULONG
_In_ ULONG | Action |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING
_In_opt_ PSTRING _In_ ULONG
_In_ ULONG _In_opt_ PVOID | TargetContext |
_In_ PLIST_ENTRY _In_ PSTRING
_In_ USHORT _In_opt_ PSTRING
_In_opt_ PSTRING _In_ ULONG
_In_ ULONG _In_opt_ PVOID
_In_opt_ PVOID | FilterContext |
_Must_inspect_result_ _In_
PCUNICODE_STRING | Name2 |
_Must_inspect_result_ _In_
PCUNICODE_STRING _In_ BOOLEAN | IgnoreCase |
_Must_inspect_result_ _In_
PUNICODE_STRING _In_ BOOLEAN
_In_opt_ PWCHAR | UpcaseTable |
| _In_ PKEVENT | Event |
_In_ PKEVENT _In_
PFSRTL_STACK_OVERFLOW_ROUTINE | StackOverflowRoutine |
_Must_inspect_result_ _In_
PUNICODE_STRING | RedirectorDeviceName |
_Must_inspect_result_ _In_
PUNICODE_STRING _In_ BOOLEAN | MailslotsSupported |
_Must_inspect_result_ _Outptr_
PVOID * | SectionObject |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER | SectionFileSize |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK | DesiredAccess |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK _In_opt_
POBJECT_ATTRIBUTES | ObjectAttributes |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK _In_opt_
POBJECT_ATTRIBUTES _In_opt_
PLARGE_INTEGER | MaximumSize |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK _In_opt_
POBJECT_ATTRIBUTES _In_opt_
PLARGE_INTEGER _In_ ULONG | SectionPageProtection |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK _In_opt_
POBJECT_ATTRIBUTES _In_opt_
PLARGE_INTEGER _In_ ULONG _In_
ULONG | AllocationAttributes |
_Must_inspect_result_ _Outptr_
PVOID _Out_opt_ PLARGE_INTEGER
_In_ PFILE_OBJECT _In_
ACCESS_MASK _In_opt_
POBJECT_ATTRIBUTES _In_opt_
PLARGE_INTEGER _In_ ULONG _In_
ULONG _In_ ULONG | Flags |
_In_ PLIST_ENTRY _In_ PVOID
_In_ PSTRING _In_ BOOLEAN _In_
BOOLEAN _In_ ULONG _In_opt_
PIRP _In_opt_
PCHECK_FOR_TRAVERSE_ACCESS
_In_opt_
PSECURITY_SUBJECT_CONTEXT
_In_opt_ PFILTER_REPORT_CHANGE | FilterCallback |
_Must_inspect_result_ _In_
PFSRTL_PER_STREAM_CONTEXT | Ptr |
_Must_inspect_result_ _In_opt_
PVOID | OwnerId |
_Must_inspect_result_ _In_opt_
PVOID _In_opt_ PVOID | InstanceId |
_Must_inspect_result_ _In_opt_
PIO_STACK_LOCATION | IrpSp |
_Must_inspect_result_ _In_
PUNICODE_STRING | RedirDevName |
_Must_inspect_result_ _In_opt_
PLARGE_INTEGER | Timeout |
_Must_inspect_result_ _In_
WAIT_TYPE | WaitType |
_Must_inspect_result_ _In_
WAIT_TYPE _In_opt_
PLARGE_INTEGER _In_opt_
PKWAIT_BLOCK | WaitBlockArray |
| _Must_inspect_result_ _In_ ULONG | Level |
_Must_inspect_result_ _In_
ULONG _Out_writes_bytes_
pBufferSize PVOID | pBuffer |
_Must_inspect_result_ _In_
ULONG _Out_writes_bytes_
pBufferSize PVOID _Inout_
PULONG | pBufferSize |
_Must_inspect_result_ _Out_
PULONG32 | pProviderId |
| _Must_inspect_result_ _In_ USHORT | PathLength |
_Must_inspect_result_ _In_
USHORT _Out_ USHORT * | NewLength |
_Must_inspect_result_ _Outptr_
PECP_LIST * | EcpList |
| _Must_inspect_result_ _In_ ULONG | SizeOfContext |
_Must_inspect_result_ _In_
ULONG _In_
FSRTL_ALLOCATE_ECP_FLAGS
_In_opt_
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK | CleanupCallback |
_Must_inspect_result_ _In_
ULONG _In_
FSRTL_ALLOCATE_ECP_FLAGS
_In_opt_
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK
_In_ ULONG | PoolTag |
_In_ FSRTL_ECP_LOOKASIDE_FLAGS
_In_ SIZE_T | Size |
_In_ FSRTL_ECP_LOOKASIDE_FLAGS
_In_ SIZE_T _In_ ULONG | Tag |
_Must_inspect_result_ ULONG
_In_ FSRTL_ALLOCATE_ECP_FLAGS
_In_opt_
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK
_Inout_ PVOID | LookasideList |
_Must_inspect_result_ ULONG
_In_ FSRTL_ALLOCATE_ECP_FLAGS
_In_opt_
PFSRTL_EXTRA_CREATE_PARAMETER_CLEANUP_CALLBACK
_Inout_ PVOID _Outptr_ PVOID * | EcpContext |
| _Must_inspect_result_ _In_ LPCGUID | EcpType |
_Must_inspect_result_ _In_
LPCGUID _Outptr_opt_ PVOID
_Out_opt_ ULONG * | EcpContextSize |
_Must_inspect_result_ _In_opt_
PVOID | CurrentEcpContext |
_Must_inspect_result_ _In_opt_
PVOID _Out_opt_ LPGUID | NextEcpType |
_Must_inspect_result_ _In_opt_
PVOID _Out_opt_ LPGUID
_Outptr_opt_ PVOID * | NextEcpContext |
_Must_inspect_result_ _In_opt_
PVOID _Out_opt_ LPGUID
_Outptr_opt_ PVOID _Out_opt_
ULONG * | NextEcpContextSize |
_Must_inspect_result_ _In_
PFILE_OBJECT | NewFileObject |
_Must_inspect_result_ _In_
PFILE_OBJECT _In_
FSRTL_CHANGE_BACKING_TYPE | ChangeBackingType |
_Must_inspect_result_ _In_
PDEVICE_OBJECT _In_
PSECTION_OBJECT_POINTERS | SectionObjectPointer |
_Must_inspect_result_ _In_
PDEVICE_OBJECT _In_
PSECTION_OBJECT_POINTERS _In_
NTSTATUS | FlushError |
| _In_opt_ PFILE_OBJECT | Fo2 |
| NTKERNELAPI const UCHAR *const | FsRtlLegalAnsiCharacterArray |