ReactOS 0.4.15-dev-8127-g6338913
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.
 
_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 ); \
}
struct _IRP IRP
#define STATUS
Definition: blue.h:116
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
Definition: mxum.h:159
#define IO_DISK_INCREMENT
Definition: iotypes.h:600

Definition at line 1711 of file fsrtlfuncs.h.

◆ FsRtlDecrementLockRequestsInProgress

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

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 NULL
Definition: types.h:112
#define FsRtlSupportsPerFileContexts(_fo)
Definition: fsrtlfuncs.h:1649

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))); \
}
#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:908
_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
#define I(s)

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))))
#define FALSE
Definition: types.h:117
#define NLS_OEM_LEAD_BYTE_INFO
Definition: init.c:425
#define NLS_MB_CODE_PAGE_TAG
Definition: nt_native.h:212
#define BOOLEAN
Definition: pedump.c:73
unsigned char UCHAR
Definition: xmlstorage.h:181

Definition at line 1631 of file fsrtlfuncs.h.

◆ FsRtlIsUnicodeCharacterWild

#define FsRtlIsUnicodeCharacterWild (   C)
Value:
((((C) >= 0x40) ? FALSE : \
#define C(c)
Definition: builtin.c:4556
Definition: terminate.cpp:24
#define LEGAL_ANSI_CHARACTER_ARRAY
Definition: fsrtlfuncs.h:1605
#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)
#define IsListEmpty(ListHead)
Definition: env_spec_w32.h:954
PFSRTL_PER_STREAM_CONTEXT NTAPI FsRtlLookupPerStreamContextInternal(IN PFSRTL_ADVANCED_FCB_HEADER AdvFcbHeader, IN PVOID OwnerId OPTIONAL, IN PVOID InstanceId OPTIONAL)
Definition: filtrctx.c:126
localAdvHdr Flags2
Definition: fsrtlfuncs.h:1692
#define FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS
Definition: fsrtltypes.h:55

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

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 FSRTL_FCB_HEADER_V1
Definition: fsrtltypes.h:43

Definition at line 1649 of file fsrtlfuncs.h.

◆ FsRtlSupportsPerStreamContexts

#define FsRtlSupportsPerStreamContexts (   FO)
Value:

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)))
ULONG FLAGS
Definition: mapi.h:36
signed char SCHAR
Definition: sqltypes.h:14

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;
uint32_t ULONG
Definition: typedefs.h:59
short CSHORT
Definition: umtypes.h:127
* PPUBLIC_BCB
Definition: cctypes.h:12
PUBLIC_BCB
Definition: cctypes.h:12

◆ _In_reads_()

_Must_inspect_result_ _In_reads_ ( Count  )

◆ _In_reads_bytes_() [1/3]

_Must_inspect_result_ _In_reads_bytes_ ( BufferLength  )

◆ _In_reads_bytes_() [2/3]

◆ _In_reads_bytes_() [3/3]

◆ _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_ ( APC_LEVEL  )

Definition at line 37 of file cddata.c.

254{
255 THREAD_CONTEXT ThreadContext = {0};
256 PIRP_CONTEXT IrpContext = NULL;
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
410
411 Status = CdCommonDevControl( IrpContext, Irp );
412 break;
413
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}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
Definition: cddata.c:914
LONG CdExceptionFilter(_Inout_ PIRP_CONTEXT IrpContext, _In_ PEXCEPTION_POINTERS ExceptionPointer)
Definition: cddata.c:525
VOID CdSetThreadContext(_Inout_ PIRP_CONTEXT IrpContext, _In_ PTHREAD_CONTEXT ThreadContext)
Definition: cddata.c:981
#define ASSERT_OPTIONAL_IRP(I)
Definition: cddata.h:251
NTSTATUS CdCompleteMdl(_In_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: cachesup.c:411
VOID CdCleanupIrpContext(_In_ PIRP_CONTEXT IrpContext, _In_ BOOLEAN Post)
Definition: strucsup.c:1733
#define CanFsdWait(I)
Definition: cdprocs.h:2001
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: lockctrl.c:35
NTSTATUS CdCommonDevControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
Definition: devctrl.c:46
_Ret_valid_ PIRP_CONTEXT CdCreateIrpContext(_In_ PIRP Irp, _In_ BOOLEAN Wait)
Definition: strucsup.c:1573
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
#define IRP_CONTEXT_FLAG_MORE_PROCESSING
Definition: cdstruc.h:1214
_In_ PIRP Irp
Definition: csq.h:116
#define TRUE
Definition: types.h:120
#define CDFS_NTC_IRP_CONTEXT
Definition: nodetype.h:34
#define SafeNodeType(Ptr)
Definition: nodetype.h:54
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define KeGetCurrentIrql()
Definition: env_spec_w32.h:706
#define SetFlag(_F, _SF)
Definition: ext2fs.h:187
#define _SEH2_END
Definition: filesup.c:22
#define _SEH2_TRY
Definition: filesup.c:19
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
Status
Definition: gdiplustypes.h:25
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:317
PIRP NTAPI IoGetTopLevelIrp(VOID)
Definition: irp.c:1843
#define STATUS_CANT_WAIT
Definition: ntstatus.h:452
#define _SEH2_GetExceptionCode()
Definition: pseh2_64.h:165
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:66
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:164
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_READ
Definition: rdpdr.c:46
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define STATUS_INVALID_DEVICE_REQUEST
Definition: udferr_usr.h:138
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_In_ WDFDPC _In_ BOOLEAN Wait
Definition: wdfdpc.h:170
#define IRP_MN_COMPLETE
Definition: iotypes.h:4420
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define IRP_MJ_SHUTDOWN
#define IRP_MJ_CLEANUP
#define NT_ASSERT
Definition: rtlfuncs.h:3310

◆ _IRQL_requires_max_() [2/3]

_IRQL_requires_max_ ( DISPATCH_LEVEL  )

Definition at line 347 of file hardware.c.

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

◆ _IRQL_requires_max_() [3/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 923 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 */
107 NULL,
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;
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}
static const INTERNET_PORT ServerPort
Definition: CWebService.cpp:11
POBJECT_TYPE ServerPortObjectType
Definition: Messaging.c:24
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
Definition: Object.c:53
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
Definition: Object.c:41
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
Definition: conport.c:36
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
#define InsertTailList(ListHead, Entry)
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1801
_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:1877
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY ConnectNotifyCallback
Definition: fltkernel.h:1875
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID ServerPortCookie
Definition: fltkernel.h:1874
_Must_inspect_result_ _Outptr_ PFLT_PORT _In_ POBJECT_ATTRIBUTES _In_opt_ PVOID _In_ PFLT_CONNECT_NOTIFY _In_ PFLT_DISCONNECT_NOTIFY DisconnectNotifyCallback
Definition: fltkernel.h:1876
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:322
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
#define OBJ_KERNEL_HANDLE
Definition: winternl.h:231
static LONG MaxConnections
#define KernelMode
Definition: asm.h:34
#define FILE_READ_DATA
Definition: nt_native.h:628
#define STANDARD_RIGHTS_ALL
Definition: nt_native.h:69
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
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:2935
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:1039
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
LIST_ENTRY mList
Definition: fltmgrint.h:56
FAST_MUTEX mLock
Definition: fltmgrint.h:55
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

◆ _Out_writes_bytes_()

◆ _Outptr_result_bytebuffer_()

◆ _When_() [1/6]

_When_ ( !Flags MCB_FLAG_RAISE_ON_ALLOCATION_FAILURE,
_Must_inspect_result_   
)

◆ _When_() [2/6]

◆ _When_() [3/6]

_When_ ( Flags FSRTL_ECP_LOOKASIDE_FLAG_NONPAGED_POOL,
_IRQL_requires_max_(DISPATCH_LEVEL  
)

◆ _When_() [4/6]

_When_ ( Flags OPLOCK_FLAG_BACK_OUT_ATOMIC_OPLOCK,
_Must_inspect_result_   
)

◆ _When_() [5/6]

◆ _When_() [6/6]

◆ 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}
#define PAGED_CODE()
#define FSRTL_MAX_RESOURCES
Definition: fsrtl.h:45
ULONG FsRtlPagingIoResourceSelector
Definition: fsrtlpc.c:18
PERESOURCE FsRtlPagingIoResources
Definition: fsrtlpc.c:17

◆ 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 727 of file fsrtlfuncs.h.

◆ CompletionRoutine

◆ Context

◆ CurrentEcpContext

Definition at line 1324 of file fsrtlfuncs.h.

◆ Data

◆ DataLength

◆ DesiredAccess

◆ DeviceObject

◆ DirectoryKey

◆ EcpContext

Definition at line 1266 of file fsrtlfuncs.h.

◆ EcpContextSize

Definition at line 1286 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

Definition at line 1687 of file fsrtlfuncs.h.

Referenced by if().

◆ Fo2

Definition at line 1477 of file fsrtlfuncs.h.

◆ FsContext

Definition at line 723 of file fsrtlfuncs.h.

◆ FsRtlLegalAnsiCharacterArray

const UCHAR* const* FsRtlLegalAnsiCharacterArray
extern

Definition at line 154 of file fsrtlpc.c.

Referenced by START_TEST().

◆ FullDirectoryName

_In_ PLIST_ENTRY _In_ PVOID _In_ PSTRING FullDirectoryName

Definition at line 724 of file fsrtlfuncs.h.

◆ FullTargetName

◆ IgnoreBuffer

Definition at line 726 of file fsrtlfuncs.h.

◆ IgnoreCase

Definition at line 797 of file fsrtlfuncs.h.

◆ Index

◆ InstanceId

◆ IoStatus

◆ Irp

Definition at line 177 of file fsrtlfuncs.h.

◆ IrpSp

◆ Key

Definition at line 221 of file fsrtlfuncs.h.

◆ KeyByShortName

◆ LargeLbn

◆ LargeVbn

◆ Lbn

◆ LeadingBackslashPermissible

_Must_inspect_result_ _In_ BOOLEAN _In_ BOOLEAN _In_ BOOLEAN LeadingBackslashPermissible

Definition at line 407 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 837 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 1198 of file fsrtlfuncs.h.

◆ NextEcpContext

◆ NextEcpContextSize

◆ NextEcpType

Definition at line 1325 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 664 of file fsrtlfuncs.h.

◆ OwnerId

◆ PathLength

Definition at line 1197 of file fsrtlfuncs.h.

◆ PathNamePermissible

Definition at line 406 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 223 of file fsrtlfuncs.h.

Referenced by $endif(), _Struct_size_bytes_(), _Success_(), AllocW32Process(), BaseSrvCreatePairWaitHandles(), BaseSrvDestroyPairWaitHandles(), co_IntRegisterLogonProcess(), CON_API(), connect(), CSR_API(), CsrInsertThread(), CsrLocateThreadByClientId(), CsrSetPriorityClass(), 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(), MiCreatePebOrTeb(), MiDecommitPages(), MiDereferenceSession(), MiDispatchFault(), MiGetPageEntryForProcess(), MiGetPageTableForProcess(), MiInsertNode(), MiIsEntireRangeCommitted(), MiLoadImageSection(), MiLockProcessWorkingSet(), MiLockProcessWorkingSetForFault(), MiLockProcessWorkingSetShared(), MiLockProcessWorkingSetUnsafe(), MiMapLockedPagesInUserSpace(), MiMapPageInHyperSpace(), MiMapViewOfDataSection(), MiProtectVirtualMemory(), MiQueryMemorySectionName(), MiRemoveNode(), MiResolveDemandZeroFault(), MiResolveProtoPteFault(), MiRosCleanupMemoryArea(), MiRosProtectVirtualMemory(), MiRosUnmapViewOfSection(), MiSessionCreateInternal(), MiSessionLeader(), MiUnlockProcessWorkingSet(), MiUnlockProcessWorkingSetForFault(), MiUnlockProcessWorkingSetShared(), MiUnlockProcessWorkingSetUnsafe(), MiUnmapLockedPagesInUserSpace(), MiUnmapPageInHyperSpace(), MiUnmapViewOfSection(), MiZeroPhysicalPage(), MmAccessFaultSectionView(), MmAlterViewAttributes(), MmArePagesResident(), MmCleanProcessAddressSpace(), MmCopyVirtualMemory(), MmCreatePageFileMapping(), MmCreatePeb(), MmCreatePhysicalMapping(), MmCreateProcessAddressSpace(), MmCreateTeb(), MmCreateVirtualMapping(), MmCreateVirtualMappingUnsafe(), MmCreateVirtualMappingUnsafeEx(), 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(), PsChargeSharedPoolQuota(), 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(), PspDereferenceQuotaBlock(), 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 $endif(), AcpiOsMapMemory(), AddDesktopItemW(), AddItemW(), AVrfInitializeVerifier(), AVrfpChainDuplicateThunks(), AVrfpSnapDllImports(), BasepCheckForReadOnlyResource(), BuildAliasInfoBuffer(), BuildGroupInfoBuffer(), BuildInteractiveProfileBuffer(), BuildUserInfoBuffer(), CalcCheckSum(), CalculateChecksum(), ClearLineBuffer(), CmpFree(), ConDrvChangeScreenBufferAttributes(), ConDrvFillConsoleOutput(), ConDrvReadConsoleOutput(), ConDrvWriteConsoleOutput(), ConDrvWriteConsoleOutputVDM(), ConioFillRegion(), ConioResizeBuffer(), ConioWriteConsole(), CreateDirectoryPath(), CreateNestedKey(), CreateShortcut(), CriticalDeviceCoInstaller(), DeleteItemW(), DesktopPtrToUser(), DetectBiosFloppyPeripheral(), DetectPnpBios(), DiskGetExtendedDriveParameters(), DiskRead(), DoChangePassword(), DosCopyEnvironmentBlock(), DsAddressToSiteNamesA(), DsAddressToSiteNamesExA(), DsAddressToSiteNamesExW(), DsAddressToSiteNamesW(), DsEnumerateDomainTrustsA(), DsGetDcNameWithAccountA(), DsGetDcSiteCoverageA(), DsGetDcSiteCoverageW(), EvalConvertEvaluationResults(), EvalGetPackageCount(), Ext2ZeroData(), FilterConnectCommunicationPort(), FindAcpiBios(), FindPxeStructure(), FltGetVolumeProperties(), FltRegisterFilter(), FreeLibrary(), FsRtlDoesNameContainWildCards(), FsRtlInsertPerFileObjectContext(), GetAnsiEnvironmentSize(), GetBuiltinDomainSid(), GetName(), GetOutlineTextMetricsW(), GetPciIrqRoutingTable(), GetProcessorInformation(), GetSourcePaths(), GetTimeZoneListIndex(), GetUnicodeEnvironmentSize(), 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(), UefiDiskRead(), 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 861 of file fsrtlfuncs.h.

◆ SectionObject

◆ SectionObjectPointer

◆ SectionPageProtection

◆ SectorCount

Definition at line 481 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 740 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 725 of file fsrtlfuncs.h.

◆ WildCardsPermissible

_Must_inspect_result_ _In_ BOOLEAN WildCardsPermissible

Definition at line 405 of file fsrtlfuncs.h.

Referenced by FsRtlIsFatDbcsLegal(), and FsRtlIsHpfsDbcsLegal().