Subject: Re: WINAPI definition
From: [email-masked] (Gunther Ebert)

29 Oct 1997 08:34:09 -0800
Message-ID: <[email-masked]>
References: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
To: Thomas Nichols <[email-masked]>
Cc: [email-masked]

Thomas Nichols wrote:
> 
> Thanks to everyone who's offered suggestions so far - much appreciated.
> I've resolved the "cannot execute binary file" problem, it doesn't happen
> under win95b command.com, only under 4DOS (v6). Very odd.
> 
> Now a new question: I'm trying to get existing (third-party) Win32 source
> to compile, and the following line breaks:
> 
>         static BOOL (WINAPI *Ctl3dRegister)(HINSTANCE);

Change it to

static BOOL WINAPI (*Ctl3dRegister)(HINSTANCE);

I've just checked it, this makes cc1plus happy and cc1plus will
generate the proper code to call a _stdcall function (it doesn't
clean up the parameter stack).

By the way, cc1plus doesn't like any character between the return
type and the stdcall modifier. In other words, if you have a 
function which returns a pointer your function pointer declaration
must be

void WINAPI *(*foo)(params);

(not 'void * WINAPI (*foo)(params);')

Gunther

-- 

Gunther Ebert
iXOS Anwendungs-Software GmbH
Angerstrasse 40-42
D-04177 Leipzig

Phone : +49 341 48503-0
Fax   : +49 341 48503-99
E-mail: mailto:[email-masked]
www   : http://www.ixos-leipzig.de
-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".