And also, for correctness/exactness/documentation purposes/any other reason... we should keep explicit the calling conventions, so that people who have other compilers which cannot enforce on a module basis STDCALL, or people who want to play with msvc by changing the default calling convention, do not become screwed. The easy way "solution" à la MS is NOT *the* solution (it looks more like a hack as in: "heck we don't want to modify all of our headers to add the needed STDCALL/NTAPI/WINAPI stuff so keep them as they are but then ask the compiler to always use STDCALL").
H.
-----Message d'origine----- De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Timo Kreuzer Envoyé : mercredi 6 mai 2015 00:12 À : ReactOS Development List Objet : Re: [ros-dev] [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS filter callback definitions
GCC doesn't support that.
Am 05.05.2015 um 23:11 schrieb Ged Murphy:
Ahh interesting. So why don't we force /Gz in our build env?
-----Original Message----- From: Ros-dev [mailto:ros-dev-bounces@reactos.org] On Behalf Of Timo Kreuzer Sent: 05 May 2015 22:01 To: ReactOS Development List Subject: Re: [ros-dev] [ros-diffs] [gedmurphy] 67563: [DDK] Fix the FS filter callback definitions
Am 05.05.2015 um 22:35 schrieb Ged Murphy:
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?
As I said: the compiler (you are supposed to use Visual Studio with a driver project and nothing else, and that will have the option "Calling
Convention"
set to "__stdcall (/Gz)") will use stdcall by default. So unless you see __cdecl, the function or function pointer is stdcall. Have a look at WDK sample sources. Almost completely lacking NTAPI. If you mess with VS settings or use a different compiler ... well, you are screwed.
Timo
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev