Yeah I get that, and I realise the change is wrong. (I blindly followed the
headers). I just wanna understand it before I revert.
What I don't get is that if I were to write code which uses this API, I
would write my callbacks without NTAPI as per the headers. I'm guessing
most other devs would too. So how are people building with cdecl and being
called by Windows with stdcall without stack issues?
In fact, explicitly going against the DDK and adding NTAPI to your callbacks
would generate a compiler warning.
Ged.
-----Original Message-----
From: Ros-dev [mailto:ros-dev-bounces@reactos.org] On Behalf Of Timo Kreuzer
Sent: 05 May 2015 21:25
To: ReactOS Development List
Subject: Re: [ros-dev] [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS
filter callback definitions
MS DDK often misses NTAPI, since the compiler uses it by default.
So unless there is a __cdecl in the DDK definition, your change is most
likely wrong.
PS: I guess it's time to finally autogenerate headers at build time, so that
nobody even gets tempted to hack ntifs/ntddk/wdm/winnt directly instead of
adding stuff to XDK... :)
Timo
Am 05.05.2015 um 21:41 schrieb Ged Murphy:
Well this is a weird one, the DDK says these callbacks
are cdecl (missing
NTAPI) and anyone building against the DDK will obviously declare
their
callbacks to match this convention. However internally, windows uses
stdcall for these callbacks.
I can't find much by way of problems people have encountered with this, so
why
aren't people seeing problems with the way the stack is cleaned up?
Anyone have any ideas before I blindly revert this change?
Ged.
-----Original Message-----
From: Ros-diffs [mailto:ros-diffs-bounces@reactos.org] On Behalf Of
gedmurphy(a)svn.reactos.org
Sent: 05 May 2015 19:54
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS filter
callback definitions
Author: gedmurphy
Date: Tue May 5 18:54:28 2015
New Revision: 67563
URL:
http://svn.reactos.org/svn/reactos?rev=67563&view=rev
Log:
[DDK]
Fix the FS filter callback definitions
Modified:
trunk/reactos/include/ddk/ntifs.h
Modified: trunk/reactos/include/ddk/ntifs.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?r
ev=67563&r1=67562&r2=67563&view=diff
============================================================================
==
--- trunk/reactos/include/ddk/ntifs.h [iso-8859-1]
(original)
+++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Tue May 5 18:54:28
2015
@@ -4890,12 +4890,12 @@
} FS_FILTER_CALLBACK_DATA, *PFS_FILTER_CALLBACK_DATA;
typedef NTSTATUS
-(NTAPI *PFS_FILTER_CALLBACK) (
+(*PFS_FILTER_CALLBACK) (
_In_ PFS_FILTER_CALLBACK_DATA Data,
_Out_ PVOID *CompletionContext);
typedef VOID
-(NTAPI *PFS_FILTER_COMPLETION_CALLBACK) (
+(*PFS_FILTER_COMPLETION_CALLBACK) (
_In_ PFS_FILTER_CALLBACK_DATA Data,
_In_ NTSTATUS OperationStatus,
_In_ PVOID CompletionContext);
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev