ReactOS 0.4.15-dev-5865-g640e228
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:414
#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}
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:159
#define _SEH2_EXCEPT(...)
Definition: pseh2_64.h:34
#define _SEH2_GetExceptionInformation()
Definition: pseh2_64.h:158
#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
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2793
#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:951
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(), MiLoadUserSymbols(), MiLockProcessWorkingSet(), MiLockProcessWorkingSetForFault(), MiLockProcessWorkingSetShared(), MiLockProcessWorkingSetUnsafe(), MiMapLockedPagesInUserSpace(), MiMapPageInHyperSpace(), MiMapViewOfDataSection(), 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(), 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 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 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().