This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Re[2]: Rebase 1.5-1: Causes invalid page fault


Below.
> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com]On Behalf
> Of Pavel Tsekov
> Sent: Tuesday, June 18, 2002 4:41 PM
> To: cygwin@cygwin.com
> Subject: Re[2]: Rebase 1.5-1: Causes invalid page fault
>
>
> JT> On Tue, Jun 18, 2002 at 06:04:31PM +0200, Pavel Tsekov wrote:
> >> You printed just the first argument.  There is a total of 11 arguments
> >> to this function.
> >>
> >> BOOL ReBaseImage(
> >>   PSTR CurrentImageName,
> >>   PSTR SymbolPath,
> >>   BOOL fReBase,
> >>   BOOL fRebaseSysfileOk,
> >>   BOOL fGoingDown,
> >>   ULONG CheckImageSize,
> >>   ULONG *OldImageSize,
> >>   ULONG_PTR *OldImageBase,
> JT>          ^^^^
> JT>          ****
> >>   ULONG *NewImageSize,
> >>   ULONG_PTR *NewImageBase,
> JT>          ^^^^
> JT>          ****
> >>   ULONG TimeStamp
> >> );
>
> JT> The ULONG_PTR above is causing me some concern.  Note that the above
> JT> signature does *not* agree with the header file (either MinGW or MSVC)
> JT> and I cannot find the definition of ULONG_PTR.  Is the above a typo in
> JT> the MSDN or are OldImageBase and NewImageBase really suppose to be a
> JT> pointer to pointer?
>
> The above is from help library that is coming with the downloadable
> Platform SDK. It is dated November, 2001.
>
> I just grepped /usr/include/w32api:
>
> ./basetsd.h:100:typedef  unsigned long ULONG_PTR, *PULONG_PTR;
>
> So it is not a pointer to pointer. They have chosen a strange name
> though :)
Which "it" are you talking about?
The typedef you found defines ULONG_PTR as a pointer to unsigned long,
and also defines PULONG_PTR as a pointer to pointer to unsigned long.
But I thought the issue was the type of NewImageBase.

The question was whether
	ULONG_PTR *NewImageBase,
defined a pointer to a pointer --- it does!
*NewImageBase defines NewImageBase as a pointer to ULONG_PTR,
which is itself a pointer, so it is, again, a
pointer-to-pointer-to-unsigned-long.



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]