mirror of
https://github.com/reactos/reactos.git
synced 2024-08-02 09:30:55 +00:00
[NTIFS]
- Group related definitions - Add HalGetDmaAlignmentRequirement, MM_PREFETCH_FLAGS, MM_PREFETCH_FLAGS_MASK, EOF_WAIT_BLOCK and several FSRTL_*, Mm*, Ob* - Update MmIsRecursiveIoFault, FSRTL_COMMON_FCB_HEADER and FSRTL_ADVANCED_FCB_HEADER svn path=/branches/header-work/; revision=46131
This commit is contained in:
parent
b322069b82
commit
cff140ca5c
|
@ -6394,6 +6394,226 @@ PoQueryWatchdogTime(
|
|||
|
||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||
|
||||
#if defined(_IA64_)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
//DECLSPEC_DEPRECATED_DDK
|
||||
NTHALAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetDmaAlignmentRequirement(
|
||||
VOID);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_M_IX86) || defined(_M_AMD64)
|
||||
#define HalGetDmaAlignmentRequirement() 1L
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsRecursiveIoFault(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmForceSectionClosed(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN BOOLEAN DelayClose);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmFlushImageSection(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN MMFLUSH_TYPE FlushType);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmCanFileBeTruncated(
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER NewFileSize OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmSetAddressRangeModified(
|
||||
IN PVOID Address,
|
||||
IN SIZE_T Length);
|
||||
|
||||
#endif
|
||||
|
||||
typedef enum _MMFLUSH_TYPE {
|
||||
MmFlushForDelete,
|
||||
MmFlushForWrite
|
||||
} MMFLUSH_TYPE;
|
||||
|
||||
typedef struct _READ_LIST {
|
||||
PFILE_OBJECT FileObject;
|
||||
ULONG NumberOfEntries;
|
||||
LOGICAL IsImage;
|
||||
FILE_SEGMENT_ELEMENT List[ANYSIZE_ARRAY];
|
||||
} READ_LIST, *PREAD_LIST;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||
typedef union _MM_PREFETCH_FLAGS {
|
||||
struct {
|
||||
ULONG Priority : SYSTEM_PAGE_PRIORITY_BITS;
|
||||
ULONG RepurposePriority : SYSTEM_PAGE_PRIORITY_BITS;
|
||||
} Flags;
|
||||
ULONG AllFlags;
|
||||
} MM_PREFETCH_FLAGS, *PMM_PREFETCH_FLAGS;
|
||||
|
||||
#define MM_PREFETCH_FLAGS_MASK ((1 << (2*SYSTEM_PAGE_PRIORITY_BITS)) - 1)
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MmPrefetchPages(
|
||||
IN ULONG NumberOfLists,
|
||||
IN PREAD_LIST *ReadLists);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
NTKERNELAPI
|
||||
ULONG
|
||||
NTAPI
|
||||
MmDoesFileHaveUserWritableReferences(
|
||||
IN PSECTION_OBJECT_POINTERS SectionPointer);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObInsertObject(
|
||||
IN PVOID Object,
|
||||
IN OUT PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN ULONG ObjectPointerBias,
|
||||
OUT PVOID *NewObject OPTIONAL,
|
||||
OUT PHANDLE Handle OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByPointer(
|
||||
IN PVOID Object,
|
||||
IN ULONG HandleAttributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObMakeTemporaryObject(
|
||||
IN PVOID Object);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryNameString(
|
||||
IN PVOID Object,
|
||||
OUT POBJECT_NAME_INFORMATION ObjectNameInfo OPTIONAL,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ReturnLength);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryObjectAuditingByHandle(
|
||||
IN HANDLE Handle,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
ObIsKernelHandle(
|
||||
IN HANDLE Handle);
|
||||
#endif
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByPointerWithTag(
|
||||
IN PVOID Object,
|
||||
IN ULONG HandleAttributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
IN ULONG Tag,
|
||||
OUT PHANDLE Handle);
|
||||
#endif
|
||||
|
||||
typedef ULONG LBN;
|
||||
typedef LBN *PLBN;
|
||||
|
||||
typedef ULONG VBN;
|
||||
typedef VBN *PVBN;
|
||||
|
||||
typedef enum _FAST_IO_POSSIBLE {
|
||||
FastIoIsNotPossible = 0,
|
||||
FastIoIsPossible,
|
||||
FastIoIsQuestionable
|
||||
} FAST_IO_POSSIBLE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
typedef struct _FSRTL_ADVANCED_FCB_HEADER:FSRTL_COMMON_FCB_HEADER {
|
||||
#else /* __cplusplus */
|
||||
typedef struct _FSRTL_ADVANCED_FCB_HEADER {
|
||||
FSRTL_COMMON_FCB_HEADER DUMMYSTRUCTNAME;
|
||||
#endif /* __cplusplus */
|
||||
PFAST_MUTEX FastMutex;
|
||||
LIST_ENTRY FilterContexts;
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
EX_PUSH_LOCK PushLock;
|
||||
PVOID *FileContextSupportPointer;
|
||||
#endif
|
||||
} FSRTL_ADVANCED_FCB_HEADER, *PFSRTL_ADVANCED_FCB_HEADER;
|
||||
|
||||
#define FSRTL_FCB_HEADER_V0 (0x00)
|
||||
#define FSRTL_FCB_HEADER_V1 (0x01)
|
||||
|
||||
#define FSRTL_FLAG_FILE_MODIFIED (0x01)
|
||||
#define FSRTL_FLAG_FILE_LENGTH_CHANGED (0x02)
|
||||
#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)
|
||||
#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)
|
||||
#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)
|
||||
#define FSRTL_FLAG_USER_MAPPED_FILE (0x20)
|
||||
#define FSRTL_FLAG_ADVANCED_HEADER (0x40)
|
||||
#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE (0x80)
|
||||
|
||||
#define FSRTL_FLAG2_DO_MODIFIED_WRITE (0x01)
|
||||
#define FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS (0x02)
|
||||
#define FSRTL_FLAG2_PURGE_WHEN_MAPPED (0x04)
|
||||
#define FSRTL_FLAG2_IS_PAGING_FILE (0x08)
|
||||
|
||||
#define FSRTL_FSP_TOP_LEVEL_IRP (0x01)
|
||||
#define FSRTL_CACHE_TOP_LEVEL_IRP (0x02)
|
||||
#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP (0x03)
|
||||
#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
|
||||
#define FSRTL_NETWORK1_TOP_LEVEL_IRP ((LONG_PTR)0x05)
|
||||
#define FSRTL_NETWORK2_TOP_LEVEL_IRP ((LONG_PTR)0x06)
|
||||
#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG ((LONG_PTR)0xFFFF)
|
||||
|
||||
typedef struct _EOF_WAIT_BLOCK {
|
||||
LIST_ENTRY EofWaitLinks;
|
||||
KEVENT Event;
|
||||
} EOF_WAIT_BLOCK, *PEOF_WAIT_BLOCK;
|
||||
|
||||
#pragma pack(push,4)
|
||||
|
||||
#ifndef VER_PRODUCTBUILD
|
||||
|
@ -6429,26 +6649,6 @@ extern PACL SeSystemDefaultDacl;
|
|||
|
||||
#define FILE_VC_QUOTAS_LOG_VIOLATIONS 0x00000004
|
||||
|
||||
#define FSRTL_FLAG_FILE_MODIFIED (0x01)
|
||||
#define FSRTL_FLAG_FILE_LENGTH_CHANGED (0x02)
|
||||
#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)
|
||||
#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)
|
||||
#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)
|
||||
#define FSRTL_FLAG_USER_MAPPED_FILE (0x20)
|
||||
#define FSRTL_FLAG_ADVANCED_HEADER (0x40)
|
||||
#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE (0x80)
|
||||
|
||||
#define FSRTL_FLAG2_DO_MODIFIED_WRITE (0x01)
|
||||
#define FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS (0x02)
|
||||
#define FSRTL_FLAG2_PURGE_WHEN_MAPPED (0x04)
|
||||
#define FSRTL_FLAG2_IS_PAGING_FILE (0x08)
|
||||
|
||||
#define FSRTL_FSP_TOP_LEVEL_IRP (0x01)
|
||||
#define FSRTL_CACHE_TOP_LEVEL_IRP (0x02)
|
||||
#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP (0x03)
|
||||
#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
|
||||
#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG (0x04)
|
||||
|
||||
#define FSRTL_VOLUME_DISMOUNT 1
|
||||
#define FSRTL_VOLUME_DISMOUNT_FAILED 2
|
||||
#define FSRTL_VOLUME_LOCK 3
|
||||
|
@ -6570,20 +6770,8 @@ typedef PVOID OPLOCK, *POPLOCK;
|
|||
struct _RTL_AVL_TABLE;
|
||||
struct _RTL_GENERIC_TABLE;
|
||||
|
||||
typedef ULONG LBN;
|
||||
typedef LBN *PLBN;
|
||||
|
||||
typedef ULONG VBN;
|
||||
typedef VBN *PVBN;
|
||||
|
||||
typedef PVOID PNOTIFY_SYNC;
|
||||
|
||||
typedef enum _FAST_IO_POSSIBLE {
|
||||
FastIoIsNotPossible,
|
||||
FastIoIsPossible,
|
||||
FastIoIsQuestionable
|
||||
} FAST_IO_POSSIBLE;
|
||||
|
||||
typedef enum _FILE_STORAGE_TYPE {
|
||||
StorageTypeDefault = 1,
|
||||
StorageTypeDirectory,
|
||||
|
@ -6810,24 +6998,19 @@ typedef struct _FILE_OLE_STATE_BITS_INFORMATION {
|
|||
ULONG StateBitsMask;
|
||||
} FILE_OLE_STATE_BITS_INFORMATION, *PFILE_OLE_STATE_BITS_INFORMATION;
|
||||
|
||||
#define FSRTL_FCB_HEADER_V0 (0x00)
|
||||
#define FSRTL_FCB_HEADER_V1 (0x01)
|
||||
|
||||
|
||||
typedef struct _FSRTL_COMMON_FCB_HEADER {
|
||||
CSHORT NodeTypeCode;
|
||||
CSHORT NodeByteSize;
|
||||
UCHAR Flags;
|
||||
UCHAR IsFastIoPossible;
|
||||
#if (VER_PRODUCTBUILD >= 1381)
|
||||
UCHAR Flags2;
|
||||
UCHAR Reserved;
|
||||
#endif /* (VER_PRODUCTBUILD >= 1381) */
|
||||
PERESOURCE Resource;
|
||||
PERESOURCE PagingIoResource;
|
||||
LARGE_INTEGER AllocationSize;
|
||||
LARGE_INTEGER FileSize;
|
||||
LARGE_INTEGER ValidDataLength;
|
||||
CSHORT NodeTypeCode;
|
||||
CSHORT NodeByteSize;
|
||||
UCHAR Flags;
|
||||
UCHAR IsFastIoPossible;
|
||||
UCHAR Flags2;
|
||||
UCHAR Reserved:4;
|
||||
UCHAR Version:4;
|
||||
PERESOURCE Resource;
|
||||
PERESOURCE PagingIoResource;
|
||||
LARGE_INTEGER AllocationSize;
|
||||
LARGE_INTEGER FileSize;
|
||||
LARGE_INTEGER ValidDataLength;
|
||||
} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
|
||||
|
||||
typedef enum _FSRTL_COMPARISON_RESULT
|
||||
|
@ -6839,25 +7022,6 @@ typedef enum _FSRTL_COMPARISON_RESULT
|
|||
|
||||
#if (VER_PRODUCTBUILD >= 2600)
|
||||
|
||||
typedef struct _FSRTL_ADVANCED_FCB_HEADER {
|
||||
CSHORT NodeTypeCode;
|
||||
CSHORT NodeByteSize;
|
||||
UCHAR Flags;
|
||||
UCHAR IsFastIoPossible;
|
||||
UCHAR Flags2;
|
||||
UCHAR Reserved: 4;
|
||||
UCHAR Version: 4;
|
||||
PERESOURCE Resource;
|
||||
PERESOURCE PagingIoResource;
|
||||
LARGE_INTEGER AllocationSize;
|
||||
LARGE_INTEGER FileSize;
|
||||
LARGE_INTEGER ValidDataLength;
|
||||
PFAST_MUTEX FastMutex;
|
||||
LIST_ENTRY FilterContexts;
|
||||
EX_PUSH_LOCK PushLock;
|
||||
PVOID *FileContextSupportPointer;
|
||||
} FSRTL_ADVANCED_FCB_HEADER, *PFSRTL_ADVANCED_FCB_HEADER;
|
||||
|
||||
typedef struct _FSRTL_PER_STREAM_CONTEXT {
|
||||
LIST_ENTRY Links;
|
||||
PVOID OwnerId;
|
||||
|
@ -6920,11 +7084,6 @@ typedef struct _MBCB {
|
|||
BITMAP_RANGE BitmapRange3;
|
||||
} MBCB, *PMBCB;
|
||||
|
||||
typedef enum _MMFLUSH_TYPE {
|
||||
MmFlushForDelete,
|
||||
MmFlushForWrite
|
||||
} MMFLUSH_TYPE;
|
||||
|
||||
typedef struct _MOVEFILE_DESCRIPTOR {
|
||||
HANDLE FileHandle;
|
||||
ULONG Reserved;
|
||||
|
@ -7250,13 +7409,6 @@ typedef BOOLEAN
|
|||
IN PVOID FilterContext
|
||||
);
|
||||
|
||||
typedef struct _READ_LIST {
|
||||
PFILE_OBJECT FileObject;
|
||||
ULONG NumberOfEntries;
|
||||
LOGICAL IsImage;
|
||||
FILE_SEGMENT_ELEMENT List[ANYSIZE_ARRAY];
|
||||
} READ_LIST, *PREAD_LIST;
|
||||
|
||||
#endif
|
||||
|
||||
NTKERNELAPI
|
||||
|
@ -8883,57 +9035,6 @@ IoAttachDeviceToDeviceStackSafe(
|
|||
OUT PDEVICE_OBJECT *AttachedToDeviceObject
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmCanFileBeTruncated (
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN PLARGE_INTEGER NewFileSize
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmFlushImageSection (
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN MMFLUSH_TYPE FlushType
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmForceSectionClosed (
|
||||
IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
|
||||
IN BOOLEAN DelayClose
|
||||
);
|
||||
|
||||
#if (VER_PRODUCTBUILD >= 1381)
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmIsRecursiveIoFault (
|
||||
VOID
|
||||
);
|
||||
|
||||
#else
|
||||
|
||||
#define MmIsRecursiveIoFault() ( \
|
||||
(PsGetCurrentThread()->DisablePageFaultClustering) | \
|
||||
(PsGetCurrentThread()->ForwardClusterOnly) \
|
||||
)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
NTKERNELAPI
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
MmSetAddressRangeModified (
|
||||
IN PVOID Address,
|
||||
IN SIZE_T Length
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -8956,56 +9057,6 @@ ObGetObjectPointerCount (
|
|||
IN PVOID Object
|
||||
);
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObInsertObject (
|
||||
IN PVOID Object,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN ULONG ObjectPointerBias,
|
||||
OUT PVOID *NewObject OPTIONAL,
|
||||
OUT PHANDLE Handle OPTIONAL);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObOpenObjectByPointer (
|
||||
IN PVOID Object,
|
||||
IN ULONG HandleAttributes,
|
||||
IN PACCESS_STATE PassedAccessState OPTIONAL,
|
||||
IN ACCESS_MASK DesiredAccess OPTIONAL,
|
||||
IN POBJECT_TYPE ObjectType OPTIONAL,
|
||||
IN KPROCESSOR_MODE AccessMode,
|
||||
OUT PHANDLE Handle);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
NTAPI
|
||||
ObMakeTemporaryObject (
|
||||
IN PVOID Object);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryObjectAuditingByHandle (
|
||||
IN HANDLE Handle,
|
||||
OUT PBOOLEAN GenerateOnClose);
|
||||
|
||||
#endif
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
ObQueryNameString (
|
||||
IN PVOID Object,
|
||||
OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||
IN ULONG Length,
|
||||
OUT PULONG ReturnLength
|
||||
);
|
||||
|
||||
NTKERNELAPI
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
|
Loading…
Reference in a new issue