Robert, you are wrong, when you state that uint should be used for SIZE_T.
SIZE_T is an unsigned integer with the size of void* that is UIntPtr.

Paul, you are right, this is a bug in mcs, I reported it:
http://bugzilla.ximian.com/show_bug.cgi?id=76256

If you declare dwNumberOfBytesToMap as IntPtr and cast BUFFERLEN to IntPtr
it will compile on mcs as well, and you will get the same result.

Kornél

----- Original Message -----
From: "Robert Jordan" <[EMAIL PROTECTED]>
To: <mono-devel-list@lists.ximian.com>
Sent: Wednesday, September 28, 2005 2:07 PM
Subject: Re: [Mono-dev] MapViewOfFile - I think there is a bug


Paul F. Johnson wrote:
Hi,

According to MSDN, MapViewOfFile should be

LPVOID MapViewOfFile(
  HANDLE hFileMappingObject,
  DWORD dwDesiredAccess,
  DWORD dwFileOffsetHigh,
  DWORD dwFileOffsetLow,
  SIZE_T dwNumberOfBytesToMap
);

I have some code which looks like this

dataView = MapViewOfFile(dataMap, FILE_MAP_WRITE, 0, 0,
(UIntPtr)BUFFERLEN);

Are you using that declaration?

http://www.pinvoke.net/default.aspx/kernel32.MapViewOfFile

It has a bug. This is the correct DllImport:

[DllImport("kernel32.dll")]
static extern IntPtr MapViewOfFile(
   IntPtr hFileMappingObject,
   uint dwDesiredAccess,
   uint dwFileOffsetHigh,
   uint dwFileOffsetLow,
   uint dwNumberOfBytesToMap
   );


dataView = MapViewOfFile(dataMap, FILE_MAP_WRITE, 0, 0,
 (uint) BUFFERLEN);


Rob

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to