LARGE_INTEGER in w32API 0.1.5
Earnie Boyd
earnie_boyd@yahoo.com
Fri Jan 28 06:34:00 GMT 2000
Search for anonymous unions in the archives.
Earnie.
--- Kris Thielemans <kris.thielemans@csc.mrc.ac.uk> wrote:
> Hi
>
> I'm having problems with LARGE_INTEGER (defined in winnt.h). Via the cygwin
> mailing list I found out that in the distributed W32 API, LARGE_INTEGER and
> LONGLONG are flawed. Mumit advised to download your w32api 0.1.5 which I
> did. However, even
> there, the LARGE_INTEGER is not compatible with Microsoft's. The following
> code does not work:
>
> LARGE_INTEGER a;
> DWORD b = a.LowPart;
>
> instead, we have to use
> DWORD b = a.u.LowPart;
>
> This fits (of course) with your definition
>
> typedef union _LARGE_INTEGER {
> struct {
> DWORD LowPart;
> LONG HighPart;
> }_STRUCT_NAME(u);
> LONGLONG QuadPart;
> } LARGE_INTEGER,*PLARGE_INTEGER;
>
> compared to Visual C++ 5.0 (an extra struct in the union):
>
> #if defined(MIDL_PASS)
> typedef struct _LARGE_INTEGER {
> #else // MIDL_PASS
> typedef union _LARGE_INTEGER {
> struct {
> DWORD LowPart;
> LONG HighPart;
> };
> struct {
> DWORD LowPart;
> LONG HighPart;
> } u;
> #endif //MIDL_PASS
> LONGLONG QuadPart;
> } LARGE_INTEGER;
>
>
>
> Thanks for providng the API !
>
> Kris
>
> PS :
> for cygwin people. This API can be found on
> http://www.acc.umu.se/~anorland/gnu-win32/
>
> The standard distribution defines LONGLONG as double, and
> typedef struct _LARGE_INTEGER
> {
> DWORD LowPart;
> LONG HighPart;
> } LARGE_INTEGER, *PLARGE_INTEGER;
>
>
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
>
>
=====
Earnie Boyd < mailto:earnie_boyd@yahoo.com >
Cygwin Newbies, please visit
< http://www.freeyellow.com/members5/gw32/index.html >
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list