#1529 imagehlp.h wrong definition of PREAD_PROCESS_MEMORY_ROUTINE

WSL
closed
None
fixed
Known_bugs
2013-01-30
2011-04-07
Safety0ff
No

PREAD_PROCESS_MEMORY_ROUTINE is incorrectly defined as:
typedef BOOL(STDCALL*PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE ,LPCVOID,LPVOID,DWORD,LPDWORD);

It should be as this:
typedef BOOL (STDCALL *PREAD_PROCESS_MEMORY_ROUTINE)(HANDLE, DWORD, PVOID, DWORD, PDWORD)

This causes issues for cross platform applications.

I used the following package for my w32api: w32api-3.15-1-mingw32-dev.tar.lzma

Discussion

  • Safety0ff
    Safety0ff
    2011-04-07

    Just to be clear, the issue is that the second parameter is defined as LPCVOID instead of DWORD.

     
  • Safety0ff
    Safety0ff
    2011-04-11

    This is present in cygwin as well (but not wine, as seen in previous comment).

     
  • Safety0ff
    Safety0ff
    2011-04-12

    I checked mingw-w64'sr imagehlp.h and it does not have this issue. It has been correct (w.r.t. to this issue) since its initial import.

     
  • Thank you for the report, I've committed a fix to CVS.

     
    • assigned_to: nobody --> ir0nh34d
    • status: open --> closed-accepted
     
  • Earnie Boyd
    Earnie Boyd
    2013-01-30

    • labels: w32api (deprecated use WSL) -->
    • status: closed-accepted --> closed
    • resolution: --> fixed
    • category: --> Known_bugs
    • milestone: --> WSL