Author: ros-arm-bringup Date: Sun Jul 20 14:19:02 2008 New Revision: 34611
URL: http://svn.reactos.org/svn/reactos?rev=34611&view=rev Log: - Fix the way NlsOemLeadByteInfo is exported. - Fix definition of PFAST_IO_UNLOCK_ALL_BY_KEY. - Add IO_REPARSE and IO_REMOUNT definitions. - Add IOCTL_CDROM_DISK_TYPE definition. - Add FlagOn, BooleanFlagOn, SetFlag and ClearFlag definitions. - Add FILE_READ_ONLY_VOLUME, FILE_SEQUENTIAL_WRITE_ONCE, FILE_SUPPORTS_TRANSACTIONS definitions. - Add FSRTL_FLAG_ADVANCED_HEADER definition. - Add FSRTL_FLAG2_PURGE_WHEN_MAPPED and FSRTL_FLAG2_IS_PAGING_FILE definitions. - Add FILE_ID_FULL_DIR_INFORMATION and FILE_ID_BOTH_DIR_INFORMATION structures. - Add FSRTL_FCB_HEADER_V0 and FSRTL_FCB_HEADER_V1 definitions. - Add FSRTL_COMPARISION_RESULT enumeration. - Add backwards compatibility support for non-AVL tree routines. - Add RtlInsertElementGenericTableAvl, RtlDeleteElementGenericTableAvl, RtlLookupElementGenericTableAvl, RtlEnumerateGenericTableWithoutSplayingAvl prototypes. - Add FsRtlSetupAdvancedHeader macro. - Add FsRtlIsFatDbcsLegal prototype. - Add FsRtlTeardownPerStreamContexts prototype. - Add RtlFreeOemString, RtlOemStringToCountedUnicodeString, RtlUnicodeStringToCountedOemString, RtlOemToUnicodeN prototypes. - Fix GenericTable prototypes in rtlfuncs.h - It seems the ntoskrnl_i386.def exports file is totally incorrect with respect to mingw -- most FsRtl functions are not properly exported. We fixed the ones we need, someone needs to go fix this entire file. - Add memcmp to the NTOS exports -- we're not entirely sure how you were even expecting 3rd party drivers to load in React? - Fix FastFat's "VfatFastIoUnlockAllByKey" prototype to match the fixed up PFAST_IO_UNLOCK_ALL_BY_KEY definition. - Clean-build-tested on i386.
Modified: trunk/reactos/drivers/filesystems/fastfat/fastio.c trunk/reactos/include/ddk/ntddcdrm.h trunk/reactos/include/ddk/ntifs.h trunk/reactos/include/ddk/winddk.h trunk/reactos/include/ndk/rtlfuncs.h trunk/reactos/lib/rtl/nls.c trunk/reactos/ntoskrnl/include/ntoskrnl.h trunk/reactos/ntoskrnl/ntoskrnl_i386.def
Modified: trunk/reactos/drivers/filesystems/fastfat/fastio.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat... ============================================================================== --- trunk/reactos/drivers/filesystems/fastfat/fastio.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat/fastio.c [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -114,7 +114,7 @@
static BOOLEAN NTAPI VfatFastIoUnlockAllByKey(IN PFILE_OBJECT FileObject, - PEPROCESS ProcessId, + PVOID ProcessId, ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN PDEVICE_OBJECT DeviceObject)
Modified: trunk/reactos/include/ddk/ntddcdrm.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntddcdrm.h?rev=... ============================================================================== --- trunk/reactos/include/ddk/ntddcdrm.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntddcdrm.h [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -61,6 +61,9 @@
#define IOCTL_CDROM_RAW_READ \ CTL_CODE(IOCTL_CDROM_BASE, 0x000F, METHOD_OUT_DIRECT, FILE_READ_ACCESS) + +#define IOCTL_CDROM_DISK_TYPE \ + CTL_CODE(IOCTL_CDROM_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_CDROM_READ_Q_CHANNEL \ CTL_CODE(IOCTL_CDROM_BASE, 0x000B, METHOD_BUFFERED, FILE_READ_ACCESS)
Modified: trunk/reactos/include/ddk/ntifs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=346... ============================================================================== --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -55,6 +55,23 @@ #define EX_PUSH_LOCK ULONG_PTR #define PEX_PUSH_LOCK PULONG_PTR
+ +#ifndef FlagOn +#define FlagOn(_F,_SF) ((_F) & (_SF)) +#endif + +#ifndef BooleanFlagOn +#define BooleanFlagOn(F,SF) ((BOOLEAN)(((F) & (SF)) != 0)) +#endif + +#ifndef SetFlag +#define SetFlag(_F,_SF) ((_F) |= (_SF)) +#endif + +#ifndef ClearFlag +#define ClearFlag(_F,_SF) ((_F) &= ~(_SF)) +#endif + #include "csq.h"
typedef struct _SE_EXPORTS *PSE_EXPORTS; @@ -204,7 +221,10 @@ #define FILE_SUPPORTS_OBJECT_IDS 0x00010000 #define FILE_SUPPORTS_ENCRYPTION 0x00020000 #define FILE_NAMED_STREAMS 0x00040000 - +#define FILE_READ_ONLY_VOLUME 0x00080000 +#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000 +#define FILE_SUPPORTS_TRANSACTIONS 0x00200000 + #define FILE_PIPE_BYTE_STREAM_TYPE 0x00000000 #define FILE_PIPE_MESSAGE_TYPE 0x00000001
@@ -268,9 +288,13 @@ #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) @@ -880,6 +904,22 @@ ULONG EaSize; WCHAR FileName[0]; } FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION; + +typedef struct _FILE_ID_FULL_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + LARGE_INTEGER FileId; + WCHAR FileName[1]; +} FILE_ID_FULL_DIR_INFORMATION, *PFILE_ID_FULL_DIR_INFORMATION;
typedef struct _FILE_BOTH_DIRECTORY_INFORMATION { ULONG NextEntryOffset; @@ -897,6 +937,24 @@ WCHAR ShortName[12]; WCHAR FileName[0]; } FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION; + +typedef struct _FILE_ID_BOTH_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + CCHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[1]; +} FILE_ID_BOTH_DIR_INFORMATION, *PFILE_ID_BOTH_DIR_INFORMATION;
typedef struct _FILE_EA_INFORMATION { ULONG EaSize; @@ -1284,6 +1342,10 @@ } FILE_ALLOCATED_RANGE_BUFFER, *PFILE_ALLOCATED_RANGE_BUFFER; #endif /* (VER_PRODUCTBUILD >= 2195) */
+#define FSRTL_FCB_HEADER_V0 (0x00) +#define FSRTL_FCB_HEADER_V1 (0x01) + + typedef struct _FSRTL_COMMON_FCB_HEADER { CSHORT NodeTypeCode; CSHORT NodeByteSize; @@ -1300,6 +1362,13 @@ LARGE_INTEGER ValidDataLength; } FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
+typedef enum _FSRTL_COMPARISON_RESULT +{ + LessThan = -1, + EqualTo = 0, + GreaterThan = 1 +} FSRTL_COMPARISON_RESULT; + #if (VER_PRODUCTBUILD >= 2600)
typedef struct _FSRTL_ADVANCED_FCB_HEADER { @@ -1570,6 +1639,30 @@ PVOID TableContext; } RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE;
+#undef PRTL_GENERIC_COMPARE_ROUTINE +#undef PRTL_GENERIC_ALLOCATE_ROUTINE +#undef PRTL_GENERIC_FREE_ROUTINE +#undef RTL_GENERIC_TABLE +#undef PRTL_GENERIC_TABLE + +#define PRTL_GENERIC_COMPARE_ROUTINE PRTL_AVL_COMPARE_ROUTINE +#define PRTL_GENERIC_ALLOCATE_ROUTINE PRTL_AVL_ALLOCATE_ROUTINE +#define PRTL_GENERIC_FREE_ROUTINE PRTL_AVL_FREE_ROUTINE +#define RTL_GENERIC_TABLE RTL_AVL_TABLE +#define PRTL_GENERIC_TABLE PRTL_AVL_TABLE + +#define RtlInitializeGenericTable RtlInitializeGenericTableAvl +#define RtlInsertElementGenericTable RtlInsertElementGenericTableAvl +#define RtlInsertElementGenericTableFull RtlInsertElementGenericTableFullAvl +#define RtlDeleteElementGenericTable RtlDeleteElementGenericTableAvl +#define RtlLookupElementGenericTable RtlLookupElementGenericTableAvl +#define RtlLookupElementGenericTableFull RtlLookupElementGenericTableFullAvl +#define RtlEnumerateGenericTable RtlEnumerateGenericTableAvl +#define RtlEnumerateGenericTableWithoutSplaying RtlEnumerateGenericTableWithoutSplayingAvl +#define RtlGetElementGenericTable RtlGetElementGenericTableAvl +#define RtlNumberGenericTableElements RtlNumberGenericTableElementsAvl +#define RtlIsGenericTableEmpty RtlIsGenericTableEmptyAvl + typedef struct _RTL_AVL_TABLE { RTL_BALANCED_LINKS BalancedRoot; @@ -1595,6 +1688,40 @@ PRTL_AVL_FREE_ROUTINE FreeRoutine, PVOID TableContext ); + +NTSYSAPI +PVOID +NTAPI +RtlInsertElementGenericTableAvl ( + PRTL_AVL_TABLE Table, + PVOID Buffer, + CLONG BufferSize, + PBOOLEAN NewElement OPTIONAL + ); + +NTSYSAPI +BOOLEAN +NTAPI +RtlDeleteElementGenericTableAvl ( + PRTL_AVL_TABLE Table, + PVOID Buffer + ); + +NTSYSAPI +PVOID +NTAPI +RtlLookupElementGenericTableAvl ( + PRTL_AVL_TABLE Table, + PVOID Buffer + ); + +NTSYSAPI +PVOID +NTAPI +RtlEnumerateGenericTableWithoutSplayingAvl ( + PRTL_AVL_TABLE Table, + PVOID *RestartKey + );
#if defined(USE_LPC6432) #define LPC_CLIENT_ID CLIENT_ID64 @@ -2443,6 +2570,21 @@ #endif #endif /* (VER_PRODUCTBUILD >= 2600) */
+ +#define FsRtlSetupAdvancedHeader( _advhdr, _fmutx ) \ +{ \ + SetFlag( (_advhdr)->Flags, FSRTL_FLAG_ADVANCED_HEADER ); \ + SetFlag( (_advhdr)->Flags2, FSRTL_FLAG2_SUPPORTS_FILTER_CONTEXTS ); \ + (_advhdr)->Version = FSRTL_FCB_HEADER_V1; \ + InitializeListHead( &(_advhdr)->FilterContexts ); \ + if ((_fmutx) != NULL) { \ + (_advhdr)->FastMutex = (_fmutx); \ + } \ + *((PULONG_PTR)(&(_advhdr)->PushLock)) = 0; \ + /*ExInitializePushLock( &(_advhdr)->PushLock ); API Not avaliable downlevel*/\ + (_advhdr)->FileContextSupportPointer = NULL; \ +} + #define FlagOn(x, f) ((x) & (f))
NTKERNELAPI @@ -2679,6 +2821,17 @@ FsRtlDoesNameContainWildCards ( IN PUNICODE_STRING Name ); + +NTKERNELAPI +BOOLEAN +NTAPI +FsRtlIsFatDbcsLegal ( + IN ANSI_STRING DbcsName, + IN BOOLEAN WildCardsPermissible, + IN BOOLEAN PathNamePermissible, + IN BOOLEAN LeadingBackslashPermissible + ); +
#define FsRtlCompleteRequest(IRP,STATUS) { \ (IRP)->IoStatus.Status = (STATUS); \ @@ -3142,6 +3295,13 @@ NTKERNELAPI VOID NTAPI +FsRtlTeardownPerStreamContexts ( + IN PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader +); + +NTKERNELAPI +VOID +NTAPI FsRtlUninitializeFileLock ( IN PFILE_LOCK FileLock ); @@ -4072,6 +4232,13 @@ NTSYSAPI VOID NTAPI +RtlFreeOemString( + IN OUT POEM_STRING OemString + ); + +NTSYSAPI +VOID +NTAPI RtlGenerate8dot3Name ( IN PUNICODE_STRING Name, IN BOOLEAN AllowExtendedCharacters, @@ -4173,6 +4340,24 @@ IN BOOLEAN AllocateDestinationString );
+NTSYSAPI +NTSTATUS +NTAPI +RtlOemStringToCountedUnicodeString( + IN OUT PUNICODE_STRING DestinationString, + IN PCOEM_STRING SourceString, + IN BOOLEAN AllocateDestinationString +); + +NTSYSAPI +NTSTATUS +NTAPI +RtlUnicodeStringToCountedOemString( + IN OUT POEM_STRING DestinationString, + IN PCUNICODE_STRING SourceString, + IN BOOLEAN AllocateDestinationString +); + NTSYSAPI NTSTATUS NTAPI @@ -4244,6 +4429,17 @@ OUT PULONG BytesInMultiByteString OPTIONAL, IN PWCH UnicodeString, IN ULONG BytesInUnicodeString +); + +NTSYSAPI +NTSTATUS +NTAPI +RtlOemToUnicodeN( + OUT PWSTR UnicodeString, + IN ULONG MaxBytesInUnicodeString, + OUT PULONG BytesInUnicodeString OPTIONAL, + IN PCH OemString, + IN ULONG BytesInOemString );
/* RTL Splay Tree Functions */
Modified: trunk/reactos/include/ddk/winddk.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/winddk.h?rev=34... ============================================================================== --- trunk/reactos/include/ddk/winddk.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/winddk.h [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -3401,7 +3401,7 @@ typedef BOOLEAN (DDKAPI *PFAST_IO_UNLOCK_ALL_BY_KEY)( IN struct _FILE_OBJECT *FileObject, - PEPROCESS ProcessId, + PVOID ProcessId, ULONG Key, OUT PIO_STATUS_BLOCK IoStatus, IN struct _DEVICE_OBJECT *DeviceObject); @@ -4769,6 +4769,9 @@ #define IO_FORCE_ACCESS_CHECK 0x001 #define IO_NO_PARAMETER_CHECKING 0x100
+#define IO_REPARSE 0x0 +#define IO_REMOUNT 0x1 + typedef NTSTATUS (DDKAPI *PIO_QUERY_DEVICE_ROUTINE)( IN PVOID Context, @@ -7384,6 +7387,7 @@ ExRaiseDatatypeMisalignment( VOID);
+DECLSPEC_NORETURN NTKERNELAPI VOID NTAPI
Modified: trunk/reactos/include/ndk/rtlfuncs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/rtlfuncs.h?rev=... ============================================================================== --- trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/rtlfuncs.h [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -2602,6 +2602,7 @@ // Generic Table Functions // #if defined(NTOS_MODE_USER) || defined(_NTIFS_) +NTSYSAPI PVOID NTAPI RtlInsertElementGenericTable( @@ -2611,6 +2612,7 @@ OUT PBOOLEAN NewElement OPTIONAL );
+NTSYSAPI PVOID NTAPI RtlInsertElementGenericTableFull( @@ -2622,12 +2624,14 @@ IN TABLE_SEARCH_RESULT SearchResult );
+NTSYSAPI BOOLEAN NTAPI RtlIsGenericTableEmpty( IN PRTL_GENERIC_TABLE Table );
+NTSYSAPI PVOID NTAPI RtlLookupElementGenericTableFull(
Modified: trunk/reactos/lib/rtl/nls.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/nls.c?rev=34611&... ============================================================================== --- trunk/reactos/lib/rtl/nls.c [iso-8859-1] (original) +++ trunk/reactos/lib/rtl/nls.c [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -31,8 +31,9 @@ PWCHAR NlsOemToUnicodeTable = NULL; PCHAR NlsUnicodeToOemTable =NULL; PWCHAR NlsDbcsUnicodeToOemTable = NULL; -PUSHORT NlsOemLeadByteInfo = NULL; /* exported */ - +PUSHORT _NlsOemLeadByteInfo = NULL; /* exported */ + +#define NlsOemLeadByteInfo _NlsOemLeadByteInfo #define INIT_FUNCTION
/* FUNCTIONS *****************************************************************/
Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/ntoskrnl.h... ============================================================================== --- trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -84,13 +84,15 @@ #define ExSemaphoreObjectType _ExSemaphoreObjectType #define KdDebuggerEnabled _KdDebuggerEnabled #define KdDebuggerNotPresent _KdDebuggerNotPresent +#define NlsOemLeadByteInfo _NlsOemLeadByteInfo +extern PUSHORT _NlsOemLeadByteInfo; #define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray #undef LEGAL_ANSI_CHARACTER_ARRAY #undef NLS_MB_CODE_PAGE_TAG #undef NLS_OEM_LEAD_BYTE_INFO #define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray #define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag -#define NLS_OEM_LEAD_BYTE_INFO NlsOemLeadByteInfo +#define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo #undef KD_DEBUGGER_ENABLED #undef KD_DEBUGGER_NOT_PRESENT #define KD_DEBUGGER_ENABLED KdDebuggerEnabled
Modified: trunk/reactos/ntoskrnl/ntoskrnl_i386.def URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl_i386.def?... ============================================================================== --- trunk/reactos/ntoskrnl/ntoskrnl_i386.def [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ntoskrnl_i386.def [iso-8859-1] Sun Jul 20 14:19:02 2008 @@ -186,21 +186,21 @@ FsRtlAddLargeMcbEntry FsRtlAddMcbEntry FsRtlAddToTunnelCache -FsRtlAllocateFileLock +FsRtlAllocateFileLock@8 FsRtlAllocatePool FsRtlAllocatePoolWithQuota FsRtlAllocatePoolWithQuotaTag -FsRtlAllocatePoolWithTag +FsRtlAllocatePoolWithTag@12 FsRtlAllocateResource FsRtlAreNamesEqual@16 FsRtlBalanceReads FsRtlCheckLockForReadAccess@8 FsRtlCheckLockForWriteAccess@8 -FsRtlCheckOplock -FsRtlCopyRead +FsRtlCheckOplock@20 +FsRtlCopyRead@32 FsRtlCopyWrite FsRtlCreateSectionForDataScan@40 -FsRtlCurrentBatchOplock +FsRtlCurrentBatchOplock@4 FsRtlDeleteKeyFromTunnelCache FsRtlDeleteTunnelCache FsRtlDeregisterUncProvider @@ -208,13 +208,13 @@ FsRtlDissectName@16 FsRtlDoesDbcsContainWildCards FsRtlDoesNameContainWildCards@4 -FsRtlFastCheckLockForRead +FsRtlFastCheckLockForRead@24 FsRtlFastCheckLockForWrite FsRtlFastUnlockAll@16 -FsRtlFastUnlockAllByKey -FsRtlFastUnlockSingle +FsRtlFastUnlockAllByKey@20 +FsRtlFastUnlockSingle@32 FsRtlFindInTunnelCache -FsRtlFreeFileLock +FsRtlFreeFileLock@4 FsRtlGetFileSize ;FsRtlGetNextBaseMcbEntry FsRtlGetNextFileLock @@ -233,7 +233,7 @@ FsRtlInsertPerFileObjectContext FsRtlInsertPerStreamContext FsRtlIsDbcsInExpression -FsRtlIsFatDbcsLegal +FsRtlIsFatDbcsLegal@20 FsRtlIsHpfsDbcsLegal FsRtlIsNameInExpression@16 FsRtlIsNtstatusExpected@4 @@ -252,31 +252,31 @@ FsRtlLookupPerStreamContextInternal FsRtlMdlRead FsRtlMdlReadComplete -FsRtlMdlReadCompleteDev -FsRtlMdlReadDev +FsRtlMdlReadCompleteDev@12 +FsRtlMdlReadDev@28 FsRtlMdlWriteComplete -FsRtlMdlWriteCompleteDev -FsRtlNormalizeNtstatus +FsRtlMdlWriteCompleteDev@16 +FsRtlNormalizeNtstatus@8 FsRtlNotifyChangeDirectory -FsRtlNotifyCleanup +FsRtlNotifyCleanup@12 FsRtlNotifyFilterChangeDirectory FsRtlNotifyFilterReportChange FsRtlNotifyFullChangeDirectory@40 FsRtlNotifyFullReportChange -FsRtlNotifyInitializeSync +FsRtlNotifyInitializeSync@4 FsRtlNotifyReportChange -FsRtlNotifyUninitializeSync -FsRtlNotifyVolumeEvent +FsRtlNotifyUninitializeSync@4 +FsRtlNotifyVolumeEvent@8 ;FsRtlNumberOfRunsInBaseMcb FsRtlNumberOfRunsInLargeMcb FsRtlNumberOfRunsInMcb -FsRtlOplockFsctrl -FsRtlOplockIsFastIoPossible +FsRtlOplockFsctrl@12 +FsRtlOplockIsFastIoPossible@4 FsRtlPostPagingFileStackOverflow FsRtlPostStackOverflow FsRtlPrepareMdlWrite -FsRtlPrepareMdlWriteDev -FsRtlPrivateLock +FsRtlPrepareMdlWriteDev@28 +FsRtlPrivateLock@48 FsRtlProcessFileLock@12 FsRtlRegisterFileSystemFilterCallbacks FsRtlRegisterUncProvider @@ -291,7 +291,7 @@ ;FsRtlSplitBaseMcb FsRtlSplitLargeMcb FsRtlSyncVolumes -FsRtlTeardownPerStreamContexts +FsRtlTeardownPerStreamContexts@4 ;FsRtlTruncateBaseMcb FsRtlTruncateLargeMcb FsRtlTruncateMcb @@ -299,7 +299,7 @@ FsRtlUninitializeFileLock@4 FsRtlUninitializeLargeMcb FsRtlUninitializeMcb -FsRtlUninitializeOplock +FsRtlUninitializeOplock@4 HalDispatchTable=_HalDispatchTable @HalExamineMBR@16 HalPrivateDispatchTable DATA @@ -802,7 +802,7 @@ NlsMbCodePageTag DATA NlsMbOemCodePageTag DATA NlsOemCodePage DATA -NlsOemLeadByteInfo DATA +NlsOemLeadByteInfo=_NlsOemLeadByteInfo NtAddAtom@12 NtAdjustPrivilegesToken@24 NtAlertThread@4 @@ -1549,6 +1549,7 @@ mbtowc memchr memcpy +memcmp memmove memset qsort