ReactOS  0.4.15-dev-3295-gaa8fc87
fsrtlfuncs.h File Reference

Go to the source code of this file.

Macros

#define FsRtlEnterFileSystem   KeEnterCriticalRegion
 
#define FsRtlExitFileSystem   KeLeaveCriticalRegion
 
#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)   FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11)
 
#define FsRtlAreThereCurrentFileLocks(FL)   ((FL)->FastIoIsQuestionable)
 
#define FsRtlIncrementLockRequestsInProgress(FL)
 
#define FsRtlDecrementLockRequestsInProgress(FL)
 
#define LEGAL_ANSI_CHARACTER_ARRAY   (*FsRtlLegalAnsiCharacterArray)
 
#define FsRtlIsAnsiCharacterWild(C)   FsRtlTestAnsiCharacter((C), FALSE, FALSE, FSRTL_WILD_CHARACTER)
 
#define FsRtlIsAnsiCharacterLegalFat(C, WILD)   FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_FAT_LEGAL)
 
#define FsRtlIsAnsiCharacterLegalHpfs(C, WILD)   FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_HPFS_LEGAL)
 
#define FsRtlIsAnsiCharacterLegalNtfs(C, WILD)   FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_NTFS_LEGAL)
 
#define FsRtlIsAnsiCharacterLegalNtfsStream(C, WILD_OK)   FsRtlTestAnsiCharacter((C), TRUE, (WILD_OK), FSRTL_NTFS_STREAM_LEGAL)
 
#define FsRtlIsAnsiCharacterLegal(C, FLAGS)   FsRtlTestAnsiCharacter((C), TRUE, FALSE, (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)   ((PFSRTL_ADVANCED_FCB_HEADER)(FO)->FsContext)
 
#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
 Queries information details about a security descriptor. More...
 
_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_ _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)
 
NTKERNELAPI NTSTATUS NTAPI FsRtlRegisterFileSystemFilterCallbacks (_In_ struct _DRIVER_OBJECT *FilterDriverObject, _In_ PFS_FILTER_CALLBACKS Callbacks)
 
NTKERNELAPI NTSTATUS NTAPI FsRtlNotifyStreamFileObject (_In_ struct _FILE_OBJECT *StreamFileObject, _In_opt_ struct _DEVICE_OBJECT *DeviceObjectHint, _In_ FS_FILTER_STREAM_FO_NOTIFICATION_TYPE NotificationType, _In_ BOOLEAN SafeToRecurse)
 
 if (FMutex !=NULL)
 

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_ PMDLMdlChain
 
_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_ PCUNICODE_STRING RedirectorDeviceName
 
_Must_inspect_result_ _In_ PCUNICODE_STRING _In_ BOOLEAN MailslotsSupported
 
_Must_inspect_result_ _Outptr_ PVOIDSectionObject
 
_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 = FSRTL_FLAG_ADVANCED_HEADER
 
_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_ USHORTNewLength
 
_Must_inspect_result_ _Outptr_ PECP_LISTEcpList
 
_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_ PVOIDEcpContext
 
_Must_inspect_result_ _In_ LPCGUID EcpType
 
_Must_inspect_result_ _In_ LPCGUID _Outptr_opt_ PVOID _Out_opt_ ULONGEcpContextSize
 
_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_ PVOIDNextEcpContext
 
_Must_inspect_result_ _In_opt_ PVOID _Out_opt_ LPGUID _Outptr_opt_ PVOID _Out_opt_ ULONGNextEcpContextSize
 
_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
 
const UCHAR *constFsRtlLegalAnsiCharacterArray
 
_In_ PFAST_MUTEX FMutex
 
localAdvHdr Flags2 = FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS
 
localAdvHdr Version = FSRTL_FCB_HEADER_V1
 
InitializeListHeadlocalAdvHdr = 0
 
localAdvHdr FileContextSupportPointer = NULL
 

Macro Definition Documentation

◆ FsRtlAreThereCurrentFileLocks

#define FsRtlAreThereCurrentFileLocks (   FL)    ((FL)->FastIoIsQuestionable)

Definition at line 1584 of file fsrtlfuncs.h.

◆ FsRtlCompleteRequest

#define FsRtlCompleteRequest (   IRP,
  STATUS 
)
Value:
{ \
(IRP)->IoStatus.Status = (STATUS); \
IoCompleteRequest( (IRP), IO_DISK_INCREMENT ); \
}
#define IO_DISK_INCREMENT
Definition: iotypes.h:600
#define STATUS
Definition: blue.h:142
struct _IRP IRP
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
Definition: mxum.h:155

Definition at line 1711 of file fsrtlfuncs.h.

◆ FsRtlDecrementLockRequestsInProgress

#define FsRtlDecrementLockRequestsInProgress (   FL)
Value:
{ \
ASSERT((FL)->LockRequestsInProgress > 0); \
(void) \
(InterlockedDecrement((LONG volatile *)&((FL)->LockRequestsInProgress))); \
}
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
long LONG
Definition: pedump.c:60
#define InterlockedDecrement
Definition: armddk.h:52

Definition at line 1593 of file fsrtlfuncs.h.

◆ FsRtlEnterFileSystem

#define FsRtlEnterFileSystem   KeEnterCriticalRegion

◆ FsRtlExitFileSystem

#define FsRtlExitFileSystem   KeLeaveCriticalRegion

◆ FsRtlFastLock

#define FsRtlFastLock (   A1,
  A2,
  A3,
  A4,
  A5,
  A6,
  A7,
  A8,
  A9,
  A10,
  A11 
)    FsRtlPrivateLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, NULL, A10, A11)

Definition at line 1581 of file fsrtlfuncs.h.

◆ FsRtlGetPerFileContextPointer

#define FsRtlGetPerFileContextPointer (   _fo)
Value:
FsRtlGetPerStreamContextPointer(_fo)->FileContextSupportPointer : NULL)
#define FsRtlSupportsPerFileContexts(_fo)
Definition: fsrtlfuncs.h:1649
#define NULL
Definition: types.h:112

Definition at line 1645 of file fsrtlfuncs.h.

◆ FsRtlGetPerStreamContextPointer

#define FsRtlGetPerStreamContextPointer (   FO)    ((PFSRTL_ADVANCED_FCB_HEADER)(FO)->FsContext)

Definition at line 1662 of file fsrtlfuncs.h.

◆ FsRtlIncrementLockRequestsInProgress

#define FsRtlIncrementLockRequestsInProgress (   FL)
Value:
{ \
ASSERT((FL)->LockRequestsInProgress >= 0); \
(void) \
(InterlockedIncrement((LONG volatile *)&((FL)->LockRequestsInProgress))); \
}
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
long LONG
Definition: pedump.c:60
#define InterlockedIncrement
Definition: armddk.h:53

Definition at line 1587 of file fsrtlfuncs.h.

◆ FsRtlInitPerFileContext

#define FsRtlInitPerFileContext (   _fc,
  _owner,
  _inst,
  _cb 
)
Value:
((_fc)->OwnerId = (_owner), \
(_fc)->InstanceId = (_inst), \
(_fc)->FreeCallback = (_cb))
_Must_inspect_result_ _In_opt_ PVOID _In_opt_ PVOID InstanceId
Definition: fsrtlfuncs.h:907
_Must_inspect_result_ _In_opt_ PVOID OwnerId
Definition: fsrtlfuncs.h:907

Definition at line 1640 of file fsrtlfuncs.h.

◆ FsRtlInitPerFileObjectContext

#define FsRtlInitPerFileObjectContext (   _fc,
  _owner,
  _inst 
)    ((_fc)->OwnerId = (_owner), (_fc)->InstanceId = (_inst))

Definition at line 1708 of file fsrtlfuncs.h.

◆ FsRtlInitPerStreamContext

#define FsRtlInitPerStreamContext (   PSC,
  O,
  I,
  FC 
)
Value:
((PSC)->OwnerId = (O), \
(PSC)->InstanceId = (I), \
(PSC)->FreeCallback = (FC))
static const WCHAR O[]
Definition: oid.c:1251
_Must_inspect_result_ _In_opt_ PVOID _In_opt_ PVOID InstanceId
Definition: fsrtlfuncs.h:907
#define I(s)
_Must_inspect_result_ _In_opt_ PVOID OwnerId
Definition: fsrtlfuncs.h:907

Definition at line 1665 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterLegal

#define FsRtlIsAnsiCharacterLegal (   C,
  FLAGS 
)    FsRtlTestAnsiCharacter((C), TRUE, FALSE, (FLAGS))

Definition at line 1623 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterLegalFat

#define FsRtlIsAnsiCharacterLegalFat (   C,
  WILD 
)    FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_FAT_LEGAL)

Definition at line 1611 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterLegalHpfs

#define FsRtlIsAnsiCharacterLegalHpfs (   C,
  WILD 
)    FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_HPFS_LEGAL)

Definition at line 1614 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterLegalNtfs

#define FsRtlIsAnsiCharacterLegalNtfs (   C,
  WILD 
)    FsRtlTestAnsiCharacter((C), TRUE, (WILD), FSRTL_NTFS_LEGAL)

Definition at line 1617 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterLegalNtfsStream

#define FsRtlIsAnsiCharacterLegalNtfsStream (   C,
  WILD_OK 
)    FsRtlTestAnsiCharacter((C), TRUE, (WILD_OK), FSRTL_NTFS_STREAM_LEGAL)

Definition at line 1620 of file fsrtlfuncs.h.

◆ FsRtlIsAnsiCharacterWild

#define FsRtlIsAnsiCharacterWild (   C)    FsRtlTestAnsiCharacter((C), FALSE, FALSE, FSRTL_WILD_CHARACTER)

Definition at line 1608 of file fsrtlfuncs.h.

◆ FsRtlIsLeadDbcsCharacter

#define FsRtlIsLeadDbcsCharacter (   DBCS_CHAR)
Value:
((BOOLEAN)((UCHAR)(DBCS_CHAR) < 0x80 ? FALSE : \
(NLS_OEM_LEAD_BYTE_INFO[(UCHAR)(DBCS_CHAR)] != 0))))
BOOLEAN NLS_MB_CODE_PAGE_TAG
#define NLS_OEM_LEAD_BYTE_INFO
Definition: init.c:414
#define FALSE
Definition: types.h:117
unsigned char UCHAR
Definition: xmlstorage.h:181
#define BOOLEAN
Definition: pedump.c:73

Definition at line 1631 of file fsrtlfuncs.h.

◆ FsRtlIsUnicodeCharacterWild

#define FsRtlIsUnicodeCharacterWild (   C)
Value:
((((C) >= 0x40) ? FALSE : \
Definition: terminate.cpp:23
#define FALSE
Definition: types.h:117
#define LEGAL_ANSI_CHARACTER_ARRAY
Definition: fsrtlfuncs.h:1605
#define C(c)
Definition: builtin.c:4556
#define FSRTL_WILD_CHARACTER
Definition: fsrtltypes.h:85

Definition at line 1636 of file fsrtlfuncs.h.

◆ FsRtlLookupPerStreamContext

#define FsRtlLookupPerStreamContext (   _sc,
  _oid,
  _iid 
)
Value:
(((NULL != (_sc)) && \
!IsListEmpty(&(_sc)->FilterContexts)) ? \
FsRtlLookupPerStreamContextInternal((_sc), (_oid), (_iid)) : NULL)
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
Definition: rtlfuncs.h:57
#define FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS
Definition: fsrtltypes.h:55
#define NULL
Definition: types.h:112
localAdvHdr Flags2
Definition: fsrtlfuncs.h:1692
PFSRTL_PER_STREAM_CONTEXT NTAPI FsRtlLookupPerStreamContextInternal(IN PFSRTL_ADVANCED_FCB_HEADER AdvFcbHeader, IN PVOID OwnerId OPTIONAL, IN PVOID InstanceId OPTIONAL)
Definition: filtrctx.c:126

Definition at line 1675 of file fsrtlfuncs.h.

◆ FsRtlSetupAdvancedHeaderEx

#define FsRtlSetupAdvancedHeaderEx (   _advhdr,
  _fmutx,
  _fctxptr 
)
Value:
{ \
FsRtlSetupAdvancedHeader( _advhdr, _fmutx ); \
if ((_fctxptr) != NULL) { \
(_advhdr)->FileContextSupportPointer = (_fctxptr); \
} \
}
localAdvHdr FileContextSupportPointer
Definition: fsrtlfuncs.h:1704
#define NULL
Definition: types.h:112

Definition at line 1654 of file fsrtlfuncs.h.

◆ FsRtlSupportsPerFileContexts

#define FsRtlSupportsPerFileContexts (   _fo)
Value:
(FsRtlGetPerStreamContextPointer(_fo)->FileContextSupportPointer != NULL))
#define FsRtlGetPerStreamContextPointer(FO)
Definition: fsrtlfuncs.h:1662
#define NULL
Definition: types.h:112
#define FSRTL_FCB_HEADER_V1
Definition: fsrtltypes.h:43

Definition at line 1649 of file fsrtlfuncs.h.

◆ FsRtlSupportsPerStreamContexts

#define FsRtlSupportsPerStreamContexts (   FO)
Value:
#define FsRtlGetPerStreamContextPointer(FO)
Definition: fsrtlfuncs.h:1662
#define FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS
Definition: fsrtltypes.h:55
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define NULL
Definition: types.h:112
#define BOOLEAN
Definition: pedump.c:73
localAdvHdr Flags2
Definition: fsrtlfuncs.h:1692

Definition at line 1670 of file fsrtlfuncs.h.

◆ FsRtlTestAnsiCharacter

#define FsRtlTestAnsiCharacter (   C,
  DEFAULT_RET,
  WILD_OK,
  FLAGS 
)
Value:
(((SCHAR)(C) < 0) ? DEFAULT_RET : \
(FLAGS) | ((WILD_OK) ? FSRTL_WILD_CHARACTER : 0)))
Definition: terminate.cpp:23
signed char SCHAR
Definition: sqltypes.h:14
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
#define LEGAL_ANSI_CHARACTER_ARRAY
Definition: fsrtlfuncs.h:1605
ULONG FLAGS
Definition: mapi.h:36
#define FSRTL_WILD_CHARACTER
Definition: fsrtltypes.h:85

Definition at line 1626 of file fsrtlfuncs.h.

◆ LEGAL_ANSI_CHARACTER_ARRAY

#define LEGAL_ANSI_CHARACTER_ARRAY   (*FsRtlLegalAnsiCharacterArray)

Definition at line 1605 of file fsrtlfuncs.h.

Function Documentation

◆ $if()

$if ( _NTIFS_  )

Definition at line 1 of file cctypes.h.

7  {
8  CSHORT NodeTypeCode;
9  CSHORT NodeByteSize;
10  ULONG MappedLength;
11  LARGE_INTEGER MappedFileOffset;
* PPUBLIC_BCB
Definition: cctypes.h:12
PUBLIC_BCB
Definition: cctypes.h:12
unsigned int ULONG
Definition: retypes.h:1
short CSHORT
Definition: umtypes.h:127

◆ _In_reads_()

_Must_inspect_result_ _In_reads_ ( Count  )

◆ _In_reads_bytes_() [1/3]

◆ _In_reads_bytes_() [2/3]

◆ _In_reads_bytes_() [3/3]

_Must_inspect_result_ _In_reads_bytes_ ( BufferLength  )

◆ _In_reads_opt_()

_Must_inspect_result_ _In_ PCUNICODE_STRING _In_ BOOLEAN _In_reads_opt_ ( 0x10000  )

◆ _IRQL_requires_max_() [1/3]

_Must_inspect_result_ _IRQL_requires_max_ ( PASSIVE_LEVEL  )

Queries information details about a security descriptor.

Computes the quota size of a security descriptor.

Assigns a security descriptor for a new object.

An extended function that assigns a security descriptor for a new object.

Frees a security descriptor.

An extended function that sets new information data to a security descriptor.

Modifies some information data about a security descriptor.

Parameters
[in]SecurityInformationSecurity information details to be queried from a security descriptor.
[out]SecurityDescriptorThe returned security descriptor with security information data.
[in,out]LengthThe returned length of a security descriptor.
[in,out]ObjectsSecurityDescriptorThe returned object security descriptor.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the specific information about the security descriptor has been queried. STATUS_BUFFER_TOO_SMALL is returned if the buffer size is too small to contain the queried info about the security descriptor.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
See SeSetSecurityDescriptorInfoEx.
Parameters
[in]ObjectIf specified, the function will use this arbitrary object that points to an object security descriptor.
[in]SecurityInformationSecurity information details to be set.
[in]SecurityDescriptorA security descriptor where its info is to be changed.
[in,out]ObjectsSecurityDescriptorThe returned pointer to security descriptor objects.
[in]AutoInheritFlagsFlags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place.
[in]PoolTypePool type for the new security descriptor to allocate.
[in]GenericMappingThe generic mapping of access rights masks.
Returns
Returns STATUS_SUCCESS if the operations have been completed without problems and that new info has been set to the security descriptor. STATUS_NO_SECURITY_ON_OBJECT is returned if the object does not have a security descriptor. STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the new security descriptor with new info set has failed.
Parameters
[in]SecurityDescriptorA security descriptor to be freed from memory.
Returns
Returns STATUS_SUCCESS.
Parameters
[in]_ParentDescriptorA security descriptor of the parent object that is being created.
[in]_ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]ObjectTypeThe type of the new object.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]AutoInheritFlagsAutomatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
Returns STATUS_SUCCESS if the operations have been completed successfully and that the security descriptor has been assigned to the new object. STATUS_NO_TOKEN is returned if the caller hasn't supplied a valid argument to a security subject context. STATUS_INVALID_OWNER is returned if the caller hasn't supplied a parent descriptor that belongs to the main user (owner). STATUS_INVALID_PRIMARY_GROUP is returned by the same reason as with the previous NTSTATUS code. The two NTSTATUS codes are returned if the calling thread stated that the owner and/or group is defaulted to the parent descriptor (SEF_DEFAULT_OWNER_FROM_PARENT and/or SEF_DEFAULT_GROUP_FROM_PARENT respectively). STATUS_INSUFFICIENT_RESOURCES is returned if memory pool allocation for the descriptor buffer has failed. A failure NTSTATUS is returned otherwise.
Parameters
[in]ParentDescriptorA security descriptor of the parent object that is being created.
[in]ExplicitDescriptorAn explicit security descriptor that is applied to a new object.
[out]NewDescriptorThe new allocated security descriptor.
[in]IsDirectoryObjectSet this to TRUE if the newly created object is a directory object, otherwise set this to FALSE.
[in]SubjectContextSecurity subject context of the new object.
[in]GenericMappingGeneric mapping of access mask rights.
[in]PoolTypeThis parameter is unused.
Returns
See SeAssignSecurityEx.
Parameters
[in]SecurityDescriptorA security descriptor.
[out]QuotaInfoSizeThe returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even.
Returns
Returns STATUS_SUCCESS if the quota size of a security descriptor has been computed successfully. STATUS_UNKNOWN_REVISION is returned if the security descriptor has an invalid revision.

Definition at line 64 of file Messaging.c.

75 {
76  PFLT_SERVER_PORT_OBJECT PortObject;
78 
79  /* The caller must allow at least one connection */
80  if (MaxConnections == 0)
81  {
83  }
84 
85  /* The request must be for a kernel handle */
86  if (!(ObjectAttributes->Attributes & OBJ_KERNEL_HANDLE))
87  {
89  }
90 
91  /*
92  * Get rundown protection on the target to stop the owner
93  * from unloading whilst this port object is open. It gets
94  * removed in the FltpServerPortClose callback
95  */
97  if (!NT_SUCCESS(Status))
98  {
99  return Status;
100  }
101 
102  /* Create the server port object for this filter */
106  KernelMode,
107  NULL,
108  sizeof(FLT_SERVER_PORT_OBJECT),
109  0,
110  0,
111  (PVOID *)&PortObject);
112  if (NT_SUCCESS(Status))
113  {
114  /* Zero out the struct */
115  RtlZeroMemory(PortObject, sizeof(FLT_SERVER_PORT_OBJECT));
116 
117  /* Increment the ref count on the target filter */
119 
120  /* Setup the filter port object */
121  PortObject->Filter = Filter;
122  PortObject->ConnectNotify = ConnectNotifyCallback;
124  PortObject->MessageNotify = MessageNotifyCallback;
125  PortObject->Cookie = ServerPortCookie;
126  PortObject->MaxConnections = MaxConnections;
127 
128  /* Insert the object */
129  Status = ObInsertObject(PortObject,
130  NULL,
132  0,
133  NULL,
135  if (NT_SUCCESS(Status))
136  {
137  /* Lock the connection list */
139 
140  /* Add the new port object to the connection list and increment the count */
143 
144  /* Unlock the connection list*/
146  }
147  }
148 
149  if (!NT_SUCCESS(Status))
150  {
151  /* Allow the filter to be cleaned up */
153  }
154 
155  return Status;
156 }
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:35
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135
_Must_inspect_result_ _Outptr_ PFLT_PORT * ServerPort
Definition: fltkernel.h:1872
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
LONG NTSTATUS
Definition: precomp.h:26
#define InsertTailList(ListHead, Entry)
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
LIST_ENTRY mList
Definition: fltmgrint.h:56
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
#define FILE_READ_DATA
Definition: nt_native.h:628
NTSTATUS NTAPI ObCreateObject(IN KPROCESSOR_MODE ProbeMode OPTIONAL, IN POBJECT_TYPE Type, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN KPROCESSOR_MODE AccessMode, IN OUT PVOID ParseContext OPTIONAL, IN ULONG ObjectSize, IN ULONG PagedPoolCharge OPTIONAL, IN ULONG NonPagedPoolCharge OPTIONAL, OUT PVOID *Object)
Definition: oblife.c:952
Status
Definition: gdiplustypes.h:24
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1872
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1872
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2931
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1872
#define NULL
Definition: types.h:112
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
_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
Definition: fltkernel.h:1872
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
_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
Definition: fltkernel.h:1872
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121

◆ _IRQL_requires_max_() [2/3]

_Must_inspect_result_ _IRQL_requires_max_ ( APC_LEVEL  )

Definition at line 197 of file cddata.c.

254 {
255  THREAD_CONTEXT ThreadContext = {0};
256  PIRP_CONTEXT IrpContext = NULL;
257  BOOLEAN Wait;
258 
259 #ifdef CD_SANITY
260  PVOID PreviousTopLevel;
261 #endif
262 
264 
265 #if DBG
266 
267  KIRQL SaveIrql = KeGetCurrentIrql();
268 
269 #endif
270 
272 
274 
276 
277 #ifdef CD_SANITY
278  PreviousTopLevel = IoGetTopLevelIrp();
279 #endif
280 
281  //
282  // Loop until this request has been completed or posted.
283  //
284 
285  do {
286 
287  //
288  // Use a try-except to handle the exception cases.
289  //
290 
291  _SEH2_TRY {
292 
293  //
294  // If the IrpContext is NULL then this is the first pass through
295  // this loop.
296  //
297 
298  if (IrpContext == NULL) {
299 
300  //
301  // Decide if this request is waitable an allocate the IrpContext.
302  // If the file object in the stack location is NULL then this
303  // is a mount which is always waitable. Otherwise we look at
304  // the file object flags.
305  //
306 
308 
309  Wait = TRUE;
310 
311  } else {
312 
313  Wait = CanFsdWait( Irp );
314  }
315 
316  IrpContext = CdCreateIrpContext( Irp, Wait );
317 
318  //
319  // Update the thread context information.
320  //
321 
322  CdSetThreadContext( IrpContext, &ThreadContext );
323 
324 #ifdef CD_SANITY
325  NT_ASSERT( !CdTestTopLevel ||
326  SafeNodeType( IrpContext->TopLevel ) == CDFS_NTC_IRP_CONTEXT );
327 #endif
328 
329  //
330  // Otherwise cleanup the IrpContext for the retry.
331  //
332 
333  } else {
334 
335  //
336  // Set the MORE_PROCESSING flag to make sure the IrpContext
337  // isn't inadvertently deleted here. Then cleanup the
338  // IrpContext to perform the retry.
339  //
340 
341  SetFlag( IrpContext->Flags, IRP_CONTEXT_FLAG_MORE_PROCESSING );
342  CdCleanupIrpContext( IrpContext, FALSE );
343  }
344 
345  //
346  // Case on the major irp code.
347  //
348 
349  switch (IrpContext->MajorFunction) {
350 
351  case IRP_MJ_CREATE :
352 
353  Status = CdCommonCreate( IrpContext, Irp );
354  break;
355 
356  case IRP_MJ_CLOSE :
357 
358  Status = CdCommonClose( IrpContext, Irp );
359  break;
360 
361  case IRP_MJ_READ :
362 
363  //
364  // If this is an Mdl complete request, don't go through
365  // common read.
366  //
367 
368  if (FlagOn( IrpContext->MinorFunction, IRP_MN_COMPLETE )) {
369 
370  Status = CdCompleteMdl( IrpContext, Irp );
371 
372  } else {
373 
374  Status = CdCommonRead( IrpContext, Irp );
375  }
376 
377  break;
378 
379  case IRP_MJ_WRITE :
380 
381  Status = CdCommonWrite( IrpContext, Irp );
382  break;
383 
385 
386  Status = CdCommonQueryInfo( IrpContext, Irp );
387  break;
388 
390 
391  Status = CdCommonSetInfo( IrpContext, Irp );
392  break;
393 
395 
396  Status = CdCommonQueryVolInfo( IrpContext, Irp );
397  break;
398 
400 
401  Status = CdCommonDirControl( IrpContext, Irp );
402  break;
403 
405 
406  Status = CdCommonFsControl( IrpContext, Irp );
407  break;
408 
409  case IRP_MJ_DEVICE_CONTROL :
410 
411  Status = CdCommonDevControl( IrpContext, Irp );
412  break;
413 
414  case IRP_MJ_LOCK_CONTROL :
415 
416  Status = CdCommonLockControl( IrpContext, Irp );
417  break;
418 
419  case IRP_MJ_CLEANUP :
420 
421  Status = CdCommonCleanup( IrpContext, Irp );
422  break;
423 
424  case IRP_MJ_PNP :
425 
426  Status = CdCommonPnp( IrpContext, Irp );
427  break;
428 
429  case IRP_MJ_SHUTDOWN :
430 
431  Status = CdCommonShutdown( IrpContext, Irp );
432  break;
433 
434  default :
435 
437  CdCompleteRequest( IrpContext, Irp, Status );
438  }
439 
441 
442  Status = CdProcessException( IrpContext, Irp, _SEH2_GetExceptionCode() );
443  } _SEH2_END;
444 
445  } while (Status == STATUS_CANT_WAIT);
446 
447 #ifdef CD_SANITY
448  NT_ASSERT( !CdTestTopLevel ||
449  (PreviousTopLevel == IoGetTopLevelIrp()) );
450 #endif
451 
453 
454  NT_ASSERT( SaveIrql == KeGetCurrentIrql( ));
455 
456  return Status;
457 }
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define IRP_MJ_SHUTDOWN
#define TRUE
Definition: types.h:120
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1214
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:167
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
LONG NTSTATUS
Definition: precomp.h:26
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_SEH2_TRY
Definition: create.c:4226
#define IRP_MN_COMPLETE
Definition: iotypes.h:4420
UCHAR KIRQL
Definition: env_spec_w32.h:591
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
#define FALSE
Definition: types.h:117
_In_ PIRP Irp
Definition: csq.h:116
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:164
unsigned char BOOLEAN
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:547
Status
Definition: gdiplustypes.h:24
#define IRP_MJ_FILE_SYSTEM_CONTROL
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2793
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
_SEH2_END
Definition: create.c:4400
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:251
#define NULL
Definition: types.h:112
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_CLEANUP
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:40
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
#define NT_ASSERT
Definition: rtlfuncs.h:3310

◆ _IRQL_requires_max_() [3/3]

_IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 1705 of file hardware.c.

1709 {
1710  SendKey();
1712 }
_In_ PISAPNP_LOGICAL_DEVICE LogicalDevice
Definition: isapnp.h:399
static VOID SendKey(VOID)
Definition: hardware.c:332
static VOID Wake(_In_ UCHAR Csn)
Definition: hardware.c:149

◆ _Out_writes_bytes_()

◆ _Outptr_result_bytebuffer_()

◆ _When_() [1/6]

◆ _When_() [2/6]

_When_ ( !Flags MCB_FLAG_RAISE_ON_ALLOCATION_FAILURE,
_Must_inspect_result_   
)

◆ _When_() [3/6]

◆ _When_() [4/6]

◆ _When_() [5/6]

_When_ ( Flags FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL,
_IRQL_requires_max_(DISPATCH_LEVEL  
)

◆ _When_() [6/6]

_When_ ( Flags OPLOCK_FLAG_BACK_OUT_ATOMIC_OPLOCK,
_Must_inspect_result_   
)

◆ FsRtlAllocateResource()

The FsRtlAllocateResource routine is but is exported to support existing driver binaries Use ExAllocateFromNPagedLookasideList and ExInitializeResourceLite instead NTKERNELAPI PERESOURCE NTAPI FsRtlAllocateResource ( VOID  )

Definition at line 209 of file fsrtlpc.c.

210 {
211  PAGED_CODE();
212 
213  /* Return a preallocated ERESOURCE */
216 }
ULONG FsRtlPagingIoResourceSelector
Definition: fsrtlpc.c:18
#define FSRTL_MAX_RESOURCES
Definition: fsrtl.h:45
PERESOURCE FsRtlPagingIoResources
Definition: fsrtlpc.c:17
#define PAGED_CODE()

◆ FsRtlGetVirtualDiskNestingLevel()

NTKERNELAPI NTSTATUS NTAPI FsRtlGetVirtualDiskNestingLevel ( _In_ PDEVICE_OBJECT  DeviceObject,
_Out_ PULONG  NestingLevel,
_Out_opt_ PULONG  NestingFlags 
)

◆ FsRtlIncrementCcFastMdlReadWait()

NTKERNELAPI VOID NTAPI FsRtlIncrementCcFastMdlReadWait ( VOID  )

◆ FsRtlIncrementCcFastReadNotPossible()

NTKERNELAPI VOID NTAPI FsRtlIncrementCcFastReadNotPossible ( VOID  )

Definition at line 34 of file fastio.c.

35 {
37 }
ULONG CcFastReadNotPossible
Definition: copysup.c:21

◆ FsRtlIncrementCcFastReadNoWait()

NTKERNELAPI VOID NTAPI FsRtlIncrementCcFastReadNoWait ( VOID  )

Definition at line 54 of file fastio.c.

55 {
57 }
ULONG CcFastReadNoWait
Definition: copysup.c:23

◆ FsRtlIncrementCcFastReadResourceMiss()

NTKERNELAPI VOID NTAPI FsRtlIncrementCcFastReadResourceMiss ( VOID  )

Definition at line 24 of file fastio.c.

25 {
27 }
ULONG CcFastReadResourceMiss
Definition: copysup.c:24

Referenced by FsRtlCopyRead().

◆ FsRtlIncrementCcFastReadWait()

NTKERNELAPI VOID NTAPI FsRtlIncrementCcFastReadWait ( VOID  )

Definition at line 44 of file fastio.c.

45 {
47 }
ULONG CcFastReadWait
Definition: copysup.c:22

◆ FsRtlInitializeExtraCreateParameter()

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 
)

◆ FsRtlInitializeExtraCreateParameterList()

NTKERNELAPI NTSTATUS NTAPI FsRtlInitializeExtraCreateParameterList ( _Inout_ PECP_LIST  EcpList)

◆ FsRtlInitializeMcb()

Obsolete NTKERNELAPI VOID NTAPI FsRtlInitializeMcb ( _Out_ PMCB  Mcb,
_In_ POOL_TYPE  PoolType 
)

◆ FsRtlIsNtstatusExpected()

_Must_inspect_result_ NTKERNELAPI BOOLEAN NTAPI FsRtlIsNtstatusExpected ( _In_ NTSTATUS  Ntstatus)

◆ FsRtlIsTotalDeviceFailure()

_Must_inspect_result_ NTKERNELAPI BOOLEAN NTAPI FsRtlIsTotalDeviceFailure ( _In_ NTSTATUS  Status)

◆ FsRtlNormalizeNtstatus()

NTKERNELAPI NTSTATUS NTAPI FsRtlNormalizeNtstatus ( _In_ NTSTATUS  Exception,
_In_ NTSTATUS  GenericException 
)

◆ FsRtlNotifyStreamFileObject()

NTKERNELAPI NTSTATUS NTAPI FsRtlNotifyStreamFileObject ( _In_ struct _FILE_OBJECT *  StreamFileObject,
_In_opt_ struct _DEVICE_OBJECT DeviceObjectHint,
_In_ FS_FILTER_STREAM_FO_NOTIFICATION_TYPE  NotificationType,
_In_ BOOLEAN  SafeToRecurse 
)

◆ FsRtlPrivateLock()

_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 
)

◆ FsRtlQueryMaximumVirtualDiskNestingLevel()

NTKERNELAPI ULONG NTAPI FsRtlQueryMaximumVirtualDiskNestingLevel ( VOID  )

◆ FsRtlRegisterFileSystemFilterCallbacks()

NTKERNELAPI NTSTATUS NTAPI FsRtlRegisterFileSystemFilterCallbacks ( _In_ struct _DRIVER_OBJECT FilterDriverObject,
_In_ PFS_FILTER_CALLBACKS  Callbacks 
)

◆ if()

if ( FMutex = NULL)

Definition at line 1699 of file fsrtlfuncs.h.

1699  {
1700  localAdvHdr->FastMutex = FMutex;
1701  }
InitializeListHead & localAdvHdr
Definition: fsrtlfuncs.h:1698
_In_ PFAST_MUTEX FMutex
Definition: fsrtlfuncs.h:1688

Variable Documentation

◆ Action

◆ AllocationAttributes

◆ AlreadySynchronized

◆ Amount

◆ ChangeBackingType

◆ CleanupCallback

◆ CompleteLockIrpRoutine

_In_opt_ PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine

Definition at line 139 of file fsrtlfuncs.h.

Referenced by FsRtlAllocateFileLock(), and FsRtlInitializeFileLock().

◆ CompletionFilter

Definition at line 722 of file fsrtlfuncs.h.

◆ CompletionRoutine

◆ Context

◆ CurrentEcpContext

Definition at line 1324 of file fsrtlfuncs.h.

◆ Data

◆ DataLength

◆ DesiredAccess

◆ DeviceObject

◆ DirectoryKey

◆ EcpContext

Definition at line 1262 of file fsrtlfuncs.h.

◆ EcpContextSize

Definition at line 1284 of file fsrtlfuncs.h.

◆ EcpList

Definition at line 1207 of file fsrtlfuncs.h.

◆ EcpType

Definition at line 1284 of file fsrtlfuncs.h.

◆ Event

◆ EventCode

_In_ ULONG EventCode

Definition at line 700 of file fsrtlfuncs.h.

◆ FileContextSupportPointer

localAdvHdr FileContextSupportPointer = NULL

Definition at line 1704 of file fsrtlfuncs.h.

◆ FileObject

◆ FileOffset

Definition at line 16 of file fsrtlfuncs.h.

◆ FileSize

◆ FilterCallback

◆ FilterContext

◆ FilterMatch

◆ FirstPart

◆ Flags

◆ Flags2

◆ FlushError

◆ FMutex

_In_ PFAST_MUTEX FMutex
Initial value:
{
struct _FSRTL_ADVANCED_FCB_HEADER * PFSRTL_ADVANCED_FCB_HEADER
InitializeListHead & localAdvHdr
Definition: fsrtlfuncs.h:1698

Definition at line 1688 of file fsrtlfuncs.h.

Referenced by if().

◆ Fo2

Definition at line 1477 of file fsrtlfuncs.h.

◆ FsContext

Definition at line 722 of file fsrtlfuncs.h.

◆ FsRtlLegalAnsiCharacterArray

const UCHAR* const* FsRtlLegalAnsiCharacterArray

Definition at line 154 of file fsrtlpc.c.

Referenced by START_TEST().

◆ FullDirectoryName

_In_ PLIST_ENTRY _In_ PVOID _In_ PSTRING FullDirectoryName

Definition at line 722 of file fsrtlfuncs.h.

◆ FullTargetName

◆ IgnoreBuffer

Definition at line 722 of file fsrtlfuncs.h.

◆ IgnoreCase

Definition at line 796 of file fsrtlfuncs.h.

◆ Index

◆ InstanceId

◆ IoStatus

◆ Irp

Definition at line 177 of file fsrtlfuncs.h.

◆ IrpSp

◆ Key

Definition at line 219 of file fsrtlfuncs.h.

◆ KeyByShortName

◆ LargeLbn

◆ LargeVbn

◆ Lbn

◆ LeadingBackslashPermissible

_Must_inspect_result_ _In_ BOOLEAN _In_ BOOLEAN _In_ BOOLEAN LeadingBackslashPermissible

Definition at line 405 of file fsrtlfuncs.h.

Referenced by FsRtlIsFatDbcsLegal(), and FsRtlIsHpfsDbcsLegal().

◆ Length

◆ Level

Definition at line 1163 of file fsrtlfuncs.h.

◆ localAdvHdr

*() PULONG_PTR localAdvHdr = 0

Definition at line 1698 of file fsrtlfuncs.h.

Referenced by if().

◆ LockKey

◆ LongName

◆ LookasideList

◆ MailslotsSupported

Definition at line 836 of file fsrtlfuncs.h.

◆ MaximumSize

◆ MdlChain

◆ Name

◆ Name2

◆ NewFileObject

Definition at line 1357 of file fsrtlfuncs.h.

Referenced by AfdAccept(), and SatisfyAccept().

◆ NewLength

Definition at line 1197 of file fsrtlfuncs.h.

◆ NextEcpContext

◆ NextEcpContextSize

◆ NextEcpType

Definition at line 1324 of file fsrtlfuncs.h.

◆ NormalizedParentName

◆ NotifyIrp

◆ NotifyList

_In_ PLIST_ENTRY NotifyList

Definition at line 722 of file fsrtlfuncs.h.

◆ ObjectAttributes

◆ obsolete

The FsRtlAllocateResource routine is obsolete

Definition at line 435 of file fsrtlfuncs.h.

◆ OpenCount

Definition at line 663 of file fsrtlfuncs.h.

◆ OwnerId

◆ PathLength

Definition at line 1197 of file fsrtlfuncs.h.

◆ PathNamePermissible

Definition at line 405 of file fsrtlfuncs.h.

Referenced by FsRtlIsFatDbcsLegal(), and FsRtlIsHpfsDbcsLegal().

◆ pBuffer

◆ pBufferSize

◆ PoolTag

◆ PoolType

Definition at line 447 of file fsrtlfuncs.h.

◆ PostIrpRoutine

◆ pProviderId

Definition at line 1174 of file fsrtlfuncs.h.

◆ Process

Definition at line 219 of file fsrtlfuncs.h.

Referenced by $endif(), _Struct_size_bytes_(), AllocW32Process(), BaseSrvCreatePairWaitHandles(), BaseSrvDestroyPairWaitHandles(), co_IntRegisterLogonProcess(), CON_API(), connect(), CSR_API(), CsrInsertThread(), CsrLocateThreadByClientId(), DbgkClearProcessDebugObject(), DbgkCopyProcessDebugPort(), DbgkCreateThread(), DbgkExitProcess(), DbgkExitThread(), DbgkForwardException(), DbgkMapViewOfSection(), DbgkOpenProcessDebugPort(), DbgkpCloseObject(), DbgkpMarkProcessPeb(), DbgkpOpenHandles(), DbgkpPostFakeModuleMessages(), DbgkpPostFakeProcessCreateMessages(), DbgkpPostFakeThreadMessages(), DbgkpQueueMessage(), DbgkpSetProcessDebugObject(), DbgkUnMapViewOfSection(), DbgUiDebugActiveProcess(), DbgUiIssueRemoteBreakin(), DbgUiStopDebugging(), DebugBreakProcess(), DECLARE_INTERFACE_(), DestroyProcessClasses(), CWineTest::DoListCommand(), ExAllocatePoolWithQuotaTag(), ExCreateHandleTable(), ExDupHandleTable(), ExFreePoolWithTag(), ExitProcessCallback(), ExitThreadCallback(), ExpAllocateHandleTable(), ExpAllocateTablePagedPool(), ExpAllocateTablePagedPoolNoZero(), ExpDebuggerWorker(), ExpDesktopClose(), ExpDesktopOkToClose(), ExpDesktopOpen(), ExpFreeHandleTable(), ExpFreeLowLevelTable(), ExpFreeTablePagedPool(), ExpRaiseHardError(), ExpWindowStationOkToClose(), ExReturnPoolQuota(), ExSwapinWorkerThreads(), Ext2FastIoLock(), Ext2FastIoUnlockAll(), Ext2FastIoUnlockAllByKey(), Ext2FastIoUnlockSingle(), find_process(), find_thread(), FsRtlCheckLockForWriteAccess(), FsRtlFastCheckLockForRead(), FsRtlFastCheckLockForWrite(), FsRtlFastUnlockAll(), FsRtlFastUnlockAllByKey(), FsRtlFastUnlockSingle(), FsRtlPrivateLock(), GDI_CleanupForProcess(), GdiProcessCreate(), GdiProcessDestroy(), gethostbyaddr(), gethostbyname(), GetOwnerModuleFromPidEntry(), GetProcessID(), GetProcessId(), GetProcessLuid(), GetProcessMemoryInfo(), getprotobyname(), getprotobynumber(), getservbyname(), getservbyport(), getsockopt(), handle_gdb_query(), inet_ntoa(), InitProcessCallback(), InitThreadCallback(), IntAllowSetForegroundWindow(), IntResolveDesktop(), IntVideoPortMapPhysicalMemory(), IoGetRequestorProcessId(), IoGetRequestorSessionId(), IopCloseFile(), IsConsoleProcess(), KdbpAttachToProcess(), KdbpAttachToThread(), KdbpCmdBreakPointList(), KdbpCmdProc(), KdbpCmdThread(), KdbpGetBreakPointInfo(), KdbpOverwriteInstruction(), Ke386CallBios(), Ke386IoSetAccessProcess(), Ke386SetIOPL(), KeAttachProcess(), KeDetachProcess(), KeFreezeAllThreads(), KeInitializeProcess(), KeInitializeProfile(), KeInitializeThread(), KeInitThread(), KeProfileInterruptWithSource(), KeQueryBasePriorityThread(), KeQueryRuntimeProcess(), KeQueryValuesProcess(), KeSetAffinityProcess(), KeSetAutoAlignmentProcess(), KeSetBasePriorityThread(), KeSetDisableBoostProcess(), KeSetPriorityAndQuantumProcess(), KeSetProcess(), KeSetQuantumProcess(), KeStackAttachProcess(), KeStartThread(), KeTerminateThread(), KeThawAllThreads(), KeUnstackDetachProcess(), KiAcquireProcessLockRaiseToSynch(), KiAttachProcess(), KiDeliverApc(), KiInitializeHandBuiltThread(), KiReadyThread(), KiSystemStartupBootStack(), KiTrap02Handler(), KiTrap08Handler(), MapGlobalUserHeap(), MI_IS_WS_UNSAFE(), MI_WS_OWNER(), MiArchCreateProcessAddressSpace(), MiCalculatePageCommitment(), MiCopyFromUserPage(), MiDecommitPages(), MiDereferenceSession(), MiDispatchFault(), MiGetPageEntryForProcess(), MiGetPageTableForProcess(), MiInsertNode(), MiIsEntireRangeCommitted(), MiLoadImageSection(), MiLoadUserSymbols(), MiLockProcessWorkingSet(), MiLockProcessWorkingSetForFault(), MiLockProcessWorkingSetShared(), MiLockProcessWorkingSetUnsafe(), MiMapLockedPagesInUserSpace(), MiMapPageInHyperSpace(), MiProtectVirtualMemory(), MiQueryMemorySectionName(), MiRemoveNode(), MiResolveDemandZeroFault(), MiResolveProtoPteFault(), MiRosCleanupMemoryArea(), MiRosProtectVirtualMemory(), MiRosUnmapViewOfSection(), MiSessionCreateInternal(), MiSessionLeader(), MiSetProtectionOnSection(), MiUnlockProcessWorkingSet(), MiUnlockProcessWorkingSetForFault(), MiUnlockProcessWorkingSetShared(), MiUnlockProcessWorkingSetUnsafe(), MiUnmapLockedPagesInUserSpace(), MiUnmapPageInHyperSpace(), MiUnmapViewOfSection(), MiZeroPhysicalPage(), MmAccessFaultSectionView(), MmAlterViewAttributes(), MmArePagesResident(), MmCleanProcessAddressSpace(), MmCopyVirtualMemory(), MmCreatePageFileMapping(), MmCreatePeb(), MmCreateProcessAddressSpace(), MmCreateTeb(), MmCreateVirtualMapping(), MmCreateVirtualMappingUnsafe(), MmDeletePageFileMapping(), MmDeleteProcessAddressSpace(), MmDeleteRmap(), MmDeleteTeb(), MmDeleteVirtualMapping(), MmFindGap(), MmFreeCacheSectionPage(), MmFreeMemoryArea(), MmFreePageTable(), MmFreeSectionPage(), MmGetPageEntryForProcess(), MmGetPageEntryForProcessForPAE(), MmGetPageFileMapping(), MmGetPageProtect(), MmGetPageTableForProcess(), MmGetPageTableForProcessForPAE(), MmGetPfnForProcess(), MmGetSessionById(), MmGetSessionId(), MmGetSessionIdEx(), MmGetSessionLocaleId(), MmInitializeHandBuiltProcess(), MmInitializeProcessAddressSpace(), MmInsertMemoryArea(), MmInsertRmap(), MmIsDirtyPage(), MmIsDisabledPage(), MmIsPagePresent(), MmIsPageSwapEntry(), MmLocateMemoryAreaByAddress(), MmLocateMemoryAreaByRegion(), MmMakePagesDirty(), MmMapViewOfArm3Section(), MmMapViewOfSection(), MmNotPresentFaultSectionView(), MmPageOutCacheSection(), MmPageOutPhysicalAddress(), MmpPageOutPhysicalAddress(), MmSessionCreate(), MmSessionDelete(), MmSetCleanPage(), MmSetDirtyBit(), MmSetDirtyPage(), MmSetMemoryPriorityProcess(), MmSetPageProtect(), MmTrimUserMemory(), MmUnlockPages(), MmUnmapViewOfSection(), MmWorkingSetManager(), NonConsoleProcessShutdown(), NotifyUserProcessForShutdown(), NpFsdCreateNamedPipe(), NtAllocateVirtualMemory(), NtAssignProcessToJobObject(), NtCreateProfile(), NtDebugActiveProcess(), NtFlushInstructionCache(), NtFlushVirtualMemory(), NtFreeVirtualMemory(), NtGetWriteWatch(), NtIsProcessInJob(), NtLockVirtualMemory(), NtMapViewOfSection(), NtOpenProcess(), NtProtectVirtualMemory(), NtQueryInformationJobObject(), NtQueryInformationProcess(), NtReadVirtualMemory(), NtRemoveProcessDebug(), NtResetWriteWatch(), NtResumeProcess(), NtSetInformationProcess(), NtSetInformationThread(), NtSetTimerResolution(), NtSuspendProcess(), NtTerminateProcess(), NtUnlockVirtualMemory(), NtUnmapViewOfSection(), NtUserCallOneParam(), NtUserGetGuiResources(), NtUserGetThreadDesktop(), NtUserProcessConnect(), NtUserResolveDesktop(), NtUserWaitForInputIdle(), NtWaitForDebugEvent(), NtWriteVirtualMemory(), ObClearProcessHandleTable(), ObDereferenceDeviceMap(), ObDereferenceProcessHandleTable(), ObFindHandleForObject(), ObGetProcessHandleCount(), ObInheritDeviceMap(), ObInitProcess(), ObKillProcess(), ObpCloseHandle(), ObpDecrementHandleCount(), ObpDuplicateHandleCallback(), ObpIncrementHandleCount(), ObpIncrementHandleDataBase(), ObpIncrementUnnamedHandleCount(), ObpReferenceProcessObjectByHandle(), ObQueryDeviceMapInformation(), ObReferenceProcessHandleTable(), ObSetDeviceMap(), PopGracefulShutdown(), PsChangeQuantumTable(), PsChargePoolQuota(), PsChargeProcessNonPagedPoolQuota(), PsChargeProcessPagedPoolQuota(), PsChargeProcessPageFileQuota(), PsChargeProcessPoolQuota(), PsConvertToGuiThread(), PsGetNextProcessThread(), PsGetProcessCreateTimeQuadPart(), PsGetProcessDebugPort(), PsGetProcessExitProcessCalled(), PsGetProcessExitStatus(), PsGetProcessId(), PsGetProcessImageFileName(), PsGetProcessInheritedFromUniqueProcessId(), PsGetProcessJob(), PsGetProcessPeb(), PsGetProcessPriorityClass(), PsGetProcessSectionBaseAddress(), PsGetProcessSecurityPort(), PsGetProcessSessionId(), PsGetProcessSessionIdEx(), PsGetProcessWin32Process(), PsGetProcessWin32WindowStation(), PsIsProcessBeingDebugged(), PsIsSystemProcess(), PsLookupProcessByProcessId(), PsLookupProcessThreadByCid(), PsOpenTokenOfProcess(), PspAssignPrimaryToken(), PspChargeProcessQuotaSpecifiedPool(), PspComputeQuantumAndPriority(), PspCreateProcess(), PspCreateThread(), PspDeleteLdt(), PspDeleteProcess(), PspDeleteProcessSecurity(), PspDeleteThread(), PspDeleteVdmObjects(), PspDestroyQuotaBlock(), PspExitProcess(), PspInheritQuota(), PspInitializeProcessSecurity(), PspIsProcessExiting(), PspLockProcessSecurityExclusive(), PspLockProcessSecurityShared(), PspMapSystemDll(), PspReturnProcessQuotaSpecifiedPool(), PspSetPrimaryToken(), PspSetQuotaLimits(), PspShutdownProcessManager(), PspTerminateProcess(), PspUnlockProcessSecurityExclusive(), PspUnlockProcessSecurityShared(), PspWriteTebImpersonationInfo(), PsReferenceEffectiveToken(), PsReferencePrimaryToken(), PsReferenceProcessFilePointer(), PsResumeProcess(), PsReturnPoolQuota(), PsReturnProcessNonPagedPoolQuota(), PsReturnProcessPagedPoolQuota(), PsReturnProcessPageFileQuota(), PsSetProcessPriorityByClass(), PsSetProcessPriorityClass(), PsSetProcessSecurityPort(), PsSetProcessWin32Process(), PsSetProcessWindowStation(), PsSuspendProcess(), PsTerminateProcess(), QSI_DEF(), RtlpSecMemFreeVirtualMemory(), CWineTest::RunTest(), SeAssignPrimaryToken(), SeCaptureSubjectContextEx(), SeCreateAccessStateEx(), SeDeassignPrimaryToken(), SeExchangePrimaryToken(), SeLocateProcessImageName(), setsockopt(), SmpSbCreateSession(), socket(), START_TEST(), TestObjectTypes(), TestPoolQuota(), UnmapGlobalUserHeap(), UserProcessCreate(), UserProcessDestroy(), Win32kProcessCallback(), WPUModifyIFSHandle(), WPUQueryBlockingCallback(), WSAAccept(), WSAAddressToStringA(), WSAAddressToStringW(), WSAAsyncGetHostByAddr(), WSAAsyncGetHostByName(), WSAAsyncGetProtoByName(), WSAAsyncGetProtoByNumber(), WSAAsyncGetServByName(), WSAAsyncGetServByPort(), WSACancelAsyncRequest(), WSACancelBlockingCall(), WSACleanup(), WSAIsBlocking(), WSAJoinLeaf(), WSALookupServiceBeginW(), WSALookupServiceEnd(), WSALookupServiceNextW(), WsApiProlog(), WSARecvDisconnect(), WSASendDisconnect(), WSASetBlockingHook(), WSASocketW(), WSAStringToAddressA(), WSAStringToAddressW(), WSAUnhookBlockingHook(), WSCGetProviderPath(), WsProcAllocate(), WsProcDelete(), WsProcDetachSocket(), WsProcGetAsyncHelper(), WsProcGetNsCatalog(), WsProcGetTCatalog(), WsProcInitialize(), WsProcOpenAsyncHelperDevice(), WsProcSetVersion(), WsSlowProlog(), WsSlowPrologTid(), WsSockFindIfsSocket(), WsThreadCreate(), WsThreadGetCurrentThread(), and WsThreadInitialize().

◆ Ptr

Definition at line 898 of file fsrtlfuncs.h.

Referenced by AcpiOsMapMemory(), AddDesktopItemW(), AddItemW(), AVrfInitializeVerifier(), AVrfpChainDuplicateThunks(), AVrfpSnapDllImports(), BasepCheckForReadOnlyResource(), BuildAliasInfoBuffer(), BuildGroupInfoBuffer(), BuildInteractiveProfileBuffer(), BuildUserInfoBuffer(), CalcCheckSum(), CalculateChecksum(), ClearLineBuffer(), CmpFree(), ConDrvChangeScreenBufferAttributes(), ConDrvFillConsoleOutput(), ConDrvReadConsoleOutput(), ConDrvWriteConsoleOutput(), ConDrvWriteConsoleOutputVDM(), ConioFillRegion(), ConioResizeBuffer(), ConioWriteConsole(), ConvertPackageArguments(), CreateDirectoryPath(), CreateNestedKey(), CreateShortcut(), CriticalDeviceCoInstaller(), DeleteItemW(), DesktopPtrToUser(), DetectBiosFloppyPeripheral(), DetectPnpBios(), DiskGetExtendedDriveParameters(), DiskRead(), DoChangePassword(), DosCopyEnvironmentBlock(), DsAddressToSiteNamesA(), DsAddressToSiteNamesExA(), DsAddressToSiteNamesExW(), DsAddressToSiteNamesW(), DsEnumerateDomainTrustsA(), DsGetDcNameWithAccountA(), DsGetDcSiteCoverageA(), DsGetDcSiteCoverageW(), Ext2ZeroData(), FilterConnectCommunicationPort(), FindAcpiBios(), FindPxeStructure(), FltGetVolumeProperties(), FltRegisterFilter(), FreeLibrary(), FsRtlDoesNameContainWildCards(), FsRtlInsertPerFileObjectContext(), GetBuiltinDomainSid(), GetName(), GetOutlineTextMetricsW(), GetPciIrqRoutingTable(), GetProcessorInformation(), GetSourcePaths(), GetTimeZoneListIndex(), GlobalAlloc(), GlobalFree(), GlobalLock(), GlobalReAlloc(), HalpGetCmosData(), HalpSetCmosData(), HidClassPDO_HandleQueryDeviceId(), HidClassPDO_HandleQueryHardwareId(), HvpWriteLog(), InfGetBinaryField(), InfGetIntField(), InfGetMultiSzField(), InfGetStringField(), InfpGetBinaryField(), InfpGetIntField(), InfpGetMultiSzField(), InfpGetStringField(), IniCacheGetKeyName(), IniCacheGetKeyValue(), IniCacheGetSectionName(), IniCacheLoadFromMemory(), IniCacheSaveByHandle(), IniCacheSkipToNextSection(), IniCacheSkipWhitespace(), IntReadConsoleOutputStringAttributes(), IntReadConsoleOutputStringChars(), IntWriteConsoleOutputStringAttribute(), IntWriteConsoleOutputStringChars(), IopGetDeviceRelations(), IopQueryCompatibleIds(), IopQueryHardwareIds(), jpeg_free_large(), jpeg_free_small(), jpeg_open_backing_store(), Ki386CreateIdentityMap(), KmtFltSendBufferToDriver(), LdrVerifyMappedImageMatchesChecksum(), LISTVIEW_GetColumnInfo(), LocalAlloc(), LocalReAlloc(), LogfpFree(), LogonUserExW(), LsaIFree_LSAPR_ACCOUNT_ENUM_BUFFER(), LsaIFree_LSAPR_CR_CIPHER_VALUE(), LsaIFree_LSAPR_PRIVILEGE_ENUM_BUFFER(), LsaIFree_LSAPR_PRIVILEGE_SET(), LsaIFree_LSAPR_REFERENCED_DOMAIN_LIST(), LsaIFree_LSAPR_SR_SECURITY_DESCRIPTOR(), LsaIFree_LSAPR_TRANSLATED_NAMES(), LsaIFree_LSAPR_TRANSLATED_SIDS(), LsapGetLogonSessionData(), LsapLookupFullyQualifiedWellKnownName(), LsapLookupIsolatedWellKnownName(), LsapLookupWellKnownSid(), LsapSplitNames(), LsarSetAccountDomain(), LsarSetPrimaryDomain(), MiniportSend(), MiSpecialPoolCheckPattern(), MxMemory::MxFreePool(), MyFree(), MyLogonUser(), NetEnumerateComputerNames(), NetGroupGetUsers(), NetLocalGroupGetMembers(), NetUserChangePassword(), CNewMenu::NewItemByCommand(), CZipExtract::CCompleteSettingsPage::OnSetActive(), PnpDecodeDma(), PnpDecodeFixedIoPort(), PnpDecodeFixedMemory(), PnpDecodeIoPort(), PnpDecodeIrq(), PnpDecodeMemory16(), PnpDecodeMemory32(), PoolsCorruption(), PoolsTest(), PrintDeviceData(), QueryDosDeviceW(), ReadHostsFile(), RegpCreateOrOpenKey(), auto_array_ptr< Type >::reset(), RtlDebugFreeHeap(), RtlDebugReAllocateHeap(), RtlDebugSizeHeap(), RtlFreeHeap(), RtlpCopyParameterString(), RtlpDphAllocateNode(), RtlpDphFindBusyMemory(), RtlpPageHeapAllocate(), RtlpPageHeapDestroy(), RtlpPageHeapFree(), RtlpPageHeapReAllocate(), RtlReAllocateHeap(), RtlSizeHeap(), SamIFree_SAMPR_ALIAS_INFO_BUFFER(), SamIFree_SAMPR_DISPLAY_INFO_BUFFER(), SamIFree_SAMPR_DOMAIN_INFO_BUFFER(), SamIFree_SAMPR_ENUMERATION_BUFFER(), SamIFree_SAMPR_GET_GROUPS_BUFFER(), SamIFree_SAMPR_GET_MEMBERS_BUFFER(), SamIFree_SAMPR_GROUP_INFO_BUFFER(), SamIFree_SAMPR_PSID_ARRAY(), SamIFree_SAMPR_RETURNED_USTRING_ARRAY(), SamIFree_SAMPR_SR_SECURITY_DESCRIPTOR(), SamIFree_SAMPR_ULONG_ARRAY(), SamIFree_SAMPR_USER_INFO_BUFFER(), SamIFreeVoid(), ScmControlService(), ScmCreateManagerHandle(), ScmCreateServiceHandle(), ScmSendStartCommand(), SdbpBuildSignMediaId(), SeiPatchNewImport(), SetupCreateDirectory(), SharedFace_AddRef(), SharedFace_Create(), SharedFace_Release(), SharedMem_AddRef(), SharedMem_Create(), SharedMem_Release(), SharedPtrToUser(), SpiSendRequestSense(), START_TEST(), Test_GetDisplayNameOf(), Test_GetFiles(), test_specialhandling(), ToolsPageWndProc(), USBHUB_DumpingIDs(), USBPORT_DumpingIDs(), VideoPortFreePool(), and VideoPortReleaseBuffer().

◆ RedirDevName

Definition at line 1127 of file fsrtlfuncs.h.

◆ RedirectorDeviceName

Definition at line 836 of file fsrtlfuncs.h.

◆ RemainingPart

◆ Restart

Definition at line 257 of file fsrtlfuncs.h.

◆ RunIndex

◆ SectionFileSize

Definition at line 860 of file fsrtlfuncs.h.

◆ SectionObject

◆ SectionObjectPointer

◆ SectionPageProtection

◆ SectorCount

Definition at line 479 of file fsrtlfuncs.h.

◆ SectorCountFromLbn

◆ SectorCountFromStartingLbn

◆ SelfSynchronized

_In_ BOOLEAN SelfSynchronized

Definition at line 462 of file fsrtlfuncs.h.

Referenced by FsRtlResetLargeMcb().

◆ ShortName

◆ Size

◆ SizeOfContext

Definition at line 1223 of file fsrtlfuncs.h.

◆ StackOverflowRoutine

◆ StartingLbn

◆ StreamName

◆ SubjectContext

◆ Tag

◆ TargetContext

◆ TargetNameOffset

_In_ PLIST_ENTRY _In_ PSTRING _In_ USHORT TargetNameOffset

Definition at line 738 of file fsrtlfuncs.h.

Referenced by FsRtlNotifyFilterReportChange(), and FsRtlNotifyFullReportChange().

◆ Timeout

◆ TraverseCallback

◆ UnlockRoutine

Definition at line 124 of file fsrtlfuncs.h.

◆ UpcaseTable

◆ Vbn

◆ Version

Definition at line 1694 of file fsrtlfuncs.h.

◆ Wait

◆ WaitBlockArray

◆ WaitType

◆ WatchTree

Definition at line 722 of file fsrtlfuncs.h.

◆ WildCardsPermissible

_Must_inspect_result_ _In_ BOOLEAN WildCardsPermissible

Definition at line 405 of file fsrtlfuncs.h.

Referenced by FsRtlIsFatDbcsLegal(), and FsRtlIsHpfsDbcsLegal().