https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c9f15013735d51731801d27432d6f58f2ef4c5aa

commit c9f15013735d51731801d27432d6f58f2ef4c5aa
Author:     Jérôme Gardou <jerome.gar...@reactos.org>
AuthorDate: Mon Dec 28 17:52:22 2020 +0100
Commit:     Jérôme Gardou <jerome.gar...@reactos.org>
CommitDate: Thu Dec 31 17:14:04 2020 +0100

    [FASTFAT_NEW] Fix callback calling convention
---
 drivers/filesystems/fastfat_new/fatprocs.h | 75 ++++++++++++++++--------------
 drivers/filesystems/fastfat_new/workque.c  | 11 +++--
 2 files changed, 46 insertions(+), 40 deletions(-)

diff --git a/drivers/filesystems/fastfat_new/fatprocs.h 
b/drivers/filesystems/fastfat_new/fatprocs.h
index 602f539cccb..f89f2325bee 100644
--- a/drivers/filesystems/fastfat_new/fatprocs.h
+++ b/drivers/filesystems/fastfat_new/fatprocs.h
@@ -104,7 +104,7 @@ typedef enum _TYPE_OF_OPEN {
 typedef BOOLEAN FINISHED;
 
 //
-//  Size (characters) of stack allocated name component buffers in 
+//  Size (characters) of stack allocated name component buffers in
 //  the create/rename paths.
 //
 
@@ -125,7 +125,7 @@ FatExtendString(
     _Inout_ PVOID String,
     _In_ USHORT DesiredBufferSize,
     _In_ BOOLEAN FreeOldBuffer,
-    __out_opt PBOOLEAN NeedsFree    
+    __out_opt PBOOLEAN NeedsFree
     );
 
 VOID
@@ -180,7 +180,7 @@ FatRemoveMcbEntry (
     IN ULONG SectorCount
     );
 
-
+
 //
 //  File access check routine, implemented in AcChkSup.c
 //
@@ -207,7 +207,7 @@ FatExplicitDeviceAccessGranted (
     IN KPROCESSOR_MODE ProcessorMode
     );
 
-
+
 //
 //  Allocation support routines, implemented in AllocSup.c
 //
@@ -389,7 +389,7 @@ FatLogOf(
     IN ULONG Value
     );
 
-
+
 //
 //   Buffer control routines for data caching, implemented in CacheSup.c
 //
@@ -567,7 +567,7 @@ FatSyncUninitializeCacheMap (
     IN PFILE_OBJECT FileObject
     );
 
-
+
 //
 //  Device I/O routines, implemented in DevIoSup.c
 //
@@ -661,7 +661,7 @@ FatPerformDevIoCtrl (
     IN ULONG IoControlCode,
     IN PDEVICE_OBJECT Device,
     IN PVOID InputBuffer OPTIONAL,
-    IN ULONG InputBufferLength,    
+    IN ULONG InputBufferLength,
     OUT PVOID OutputBuffer OPTIONAL,
     IN ULONG OutputBufferLength,
     IN BOOLEAN InternalDeviceIoControl,
@@ -675,7 +675,7 @@ FatBuildZeroMdl (
     __in ULONG Length
     );
 
-
+
 //
 //  Dirent support routines, implemented in DirSup.c
 //
@@ -731,7 +731,7 @@ FatLocateDirent (
     OUT PVBO ByteOffset,
     OUT PBOOLEAN FileNameDos OPTIONAL,
     IN OUT PUNICODE_STRING Lfn OPTIONAL,
-    IN OUT PUNICODE_STRING OrigLfn OPTIONAL        
+    IN OUT PUNICODE_STRING OrigLfn OPTIONAL
     );
 
 _Requires_lock_held_(_Global_critical_region_)
@@ -849,7 +849,7 @@ FatUpdateDirentFromFcb (
 
 #define FatDirectoryKey(FcbOrDcb)  
((ULONGLONG)((FcbOrDcb)->CreationTime.QuadPart ^ 
(FcbOrDcb)->FirstClusterOfFile))
 
-
+
 //
 //  The following routines are used to access and manipulate the
 //  clusters containing EA data in the ea data file.  They are
@@ -1029,7 +1029,7 @@ FatUnpinEaRange (
 
 #define SizeOfFullEa(EA) (4+1+1+2+(EA)->EaNameLength+1+(EA)->EaValueLength)
 
-
+
 //
 //  The following routines are used to manipulate the fscontext fields
 //  of the file object, implemented in FilObSup.c
@@ -1049,7 +1049,7 @@ typedef enum _TYPE_OF_OPEN {
 #endif
 
 typedef enum _FAT_FLUSH_TYPE {
-    
+
     NoFlush = 0,
     Flush,
     FlushAndInvalidate,
@@ -1089,7 +1089,7 @@ FatForceCacheMiss (
     IN FAT_FLUSH_TYPE FlushType
     );
 
-
+
 //
 //  File system control routines, implemented in FsCtrl.c
 //
@@ -1123,7 +1123,7 @@ FatUnlockVolumeInternal (
     IN PFILE_OBJECT FileObject OPTIONAL
     );
 
-
+
 //
 //  Name support routines, implemented in NameSup.c
 //
@@ -1326,13 +1326,13 @@ FatSpaceInName (
     );
 
 VOID
-FatUnicodeRestoreShortNameCase( 
+FatUnicodeRestoreShortNameCase(
     IN PUNICODE_STRING ShortNameWithCase,
     IN BOOLEAN LowerCase8,
     IN BOOLEAN LowerCase3
     );
 
-
+
 //
 //  Resources support routines/macros, implemented in ResrcSup.c
 //
@@ -1661,7 +1661,7 @@ FatFilterCallbackAcquireForCreateSection (
 
 #endif
 
-
+
 //
 //  In-memory structure support routine, implemented in StrucSup.c
 //
@@ -1704,7 +1704,7 @@ FatCreateFcb (
     IN ULONG DirentOffsetWithinDirectory,
     IN PDIRENT Dirent,
     IN PUNICODE_STRING Lfn OPTIONAL,
-    IN PUNICODE_STRING OrigLfn OPTIONAL,    
+    IN PUNICODE_STRING OrigLfn OPTIONAL,
     IN BOOLEAN IsPagingFile,
     IN BOOLEAN SingleResource
     );
@@ -1730,12 +1730,12 @@ PCCB
 FatCreateCcb (
     IN PIRP_CONTEXT IrpContext
     );
-    
+
 VOID
 FatDeallocateCcbStrings(
         IN PCCB Ccb
         );
-        
+
 VOID
 FatDeleteCcb (
     IN PIRP_CONTEXT IrpContext,
@@ -1830,7 +1830,7 @@ FatPreallocateCloseContext (
     );
 
 PCLOSE_CONTEXT
-FatAllocateCloseContext( 
+FatAllocateCloseContext(
     IN PVCB Vcb
     );
 
@@ -1847,7 +1847,7 @@ FatAllocateCloseContext(
     ((S) == STATUS_NO_MEDIA_IN_DEVICE)  \
 )
 
-
+
 //
 //  Routines to support managing file names Fcbs and Dcbs.
 //  Implemented in SplaySup.c
@@ -1902,7 +1902,7 @@ FatCompareNames (
     IsLessThan : IsGreaterThan :                           \
     FatCompareNames((PSTRING)(NAMEA), (PSTRING)(NAMEB))    \
 )
-
+
 //
 //  Time conversion support routines, implemented in TimeSup.c
 //
@@ -1935,7 +1935,7 @@ FatGetCurrentFatTime (
     _In_ PIRP_CONTEXT IrpContext
     );
 
-
+
 //
 //  Low level verification routines, implemented in VerfySup.c
 //
@@ -2030,7 +2030,7 @@ FatPerformVerify (
     _In_ PDEVICE_OBJECT Device
     );
 
-
+
 //
 //  Work queue routines for posting and retrieving an Irp, implemented in
 //  workque.c
@@ -2051,6 +2051,9 @@ FatPrePostIrp (
     );
 
 VOID
+#ifdef __REACTOS__
+NTAPI
+#endif
 FatAddToWorkque (
     IN PIRP_CONTEXT IrpContext,
     IN PIRP Irp
@@ -2061,7 +2064,7 @@ FatFsdPostRequest (
     IN PIRP_CONTEXT IrpContext,
     IN PIRP Irp
     );
-
+
 //
 //  Miscellaneous support routines
 //
@@ -2182,7 +2185,7 @@ typedef union _UCHAR4 {
                                  (PVOID)NULL );                                
                     \
 }
 
-
+
 //
 //  The FSD Level dispatch routines.   These routines are called by the
 //  I/O system via the dispatch table in the Driver Object.
@@ -2221,7 +2224,7 @@ FatFsdCreate (                          //  implemented 
in Create.c
     _Inout_ PIRP Irp
     );
 
-    
+
 _Function_class_(IRP_MJ_DEVICE_CONTROL)
 _Function_class_(DRIVER_DISPATCH)
 NTSTATUS
@@ -2366,7 +2369,7 @@ FatFsdWrite (                           //  implemented 
in Write.c
 
 #define CanFsdWait(IRP) IoIsOperationSynchronous(Irp)
 
-
+
 //
 //  The FSP level dispatch/main routine.  This is the routine that takes
 //  IRP's off of the work queue and calls the appropriate FSP level
@@ -2604,7 +2607,7 @@ FatFlushDirentForFile (
 );
 
 
-
+
 //
 //  The following procedure is used by the FSP and FSD routines to complete
 //  an IRP.
@@ -2837,7 +2840,7 @@ FatScanForDataTrack(
     ((N) == FAT_NTC_DCB)                \
 )
 
-#else 
+#else
 
 #define FatIsNodeTypeOplockable(N) (    \
     ((N) == FAT_NTC_FCB)                \
@@ -2862,7 +2865,7 @@ FatScanForDataTrack(
 
 #define IsFileObjectReadOnly(FO) (!((FO)->WriteAccess | (FO)->DeleteAccess))
 
-
+
 //
 //  The following two macro are used by the Fsd/Fsp exception handlers to
 //  process an exception.  The first macro is the exception filter used in the
@@ -2976,7 +2979,7 @@ __pragma(warning(pop))
     DebugBreakOnStatus( (STATUS) )                      \
     ExRaiseStatus( (STATUS) );                          \
 }
-    
+
 #define FatResetExceptionState( IRPCONTEXT ) {          \
     (IRPCONTEXT)->ExceptionStatus = STATUS_SUCCESS;     \
 }
@@ -2994,7 +2997,7 @@ __pragma(warning(pop))
     
ExRaiseStatus(FsRtlNormalizeNtstatus((STATUS),STATUS_UNEXPECTED_IO_ERROR)); \
 }
 
-
+
 //
 //  The following macros are used to establish the semantics needed
 //  to do a return from within a try-finally clause.  As a rule every
@@ -3026,14 +3029,14 @@ __pragma(warning(pop))
 #define try_return(S) { S; goto try_exit; }
 #define try_leave(S) { S; _SEH2_LEAVE; }
 
-
+
 CLUSTER_TYPE
 FatInterpretClusterType (
     IN PVCB Vcb,
     IN FAT_ENTRY Entry
     );
 
-
+
 //
 //  These routines define the FileId for FAT.  Lacking a fixed/uniquifiable
 //  notion, we simply come up with one which is unique in a given snapshot
diff --git a/drivers/filesystems/fastfat_new/workque.c 
b/drivers/filesystems/fastfat_new/workque.c
index 278a56432d3..8f9b35e360a 100644
--- a/drivers/filesystems/fastfat_new/workque.c
+++ b/drivers/filesystems/fastfat_new/workque.c
@@ -29,7 +29,7 @@ Abstract:
 #pragma alloc_text(PAGE, FatFsdPostRequest)
 #endif
 
-
+
 VOID
 NTAPI
 FatOplockComplete (
@@ -85,7 +85,7 @@ Return Value:
     return;
 }
 
-
+
 VOID
 NTAPI
 FatPrePostIrp (
@@ -224,7 +224,7 @@ Return Value:
     return;
 }
 
-
+
 NTSTATUS
 FatFsdPostRequest(
     IN PIRP_CONTEXT IrpContext,
@@ -268,12 +268,15 @@ Return Value:
     return STATUS_PENDING;
 }
 
-
+
 //
 //  Local support routine.
 //
 
 VOID
+#ifdef __REACTOS__
+NTAPI
+#endif
 FatAddToWorkque (
     IN PIRP_CONTEXT IrpContext,
     IN PIRP Irp

Reply via email to