Wait, I misread your previous post. The compiler uses cdecl by default, so
unless you specify NTAPI then you get cdecl

-----Original Message-----
From: Ged Murphy [mailto:[email protected]] 
Sent: 05 May 2015 21:35
To: 'ReactOS Development List'
Subject: RE: [ros-dev] [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS
filter callback definitions

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:[email protected]] 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:[email protected]] On Behalf Of 
> [email protected]
> Sent: 05 May 2015 19:54
> To: [email protected]
> 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
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev
>





_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to