Release 980503

Thu Apr 30 16:28:12 1998  James Juran <jrj120@psu.edu>

	* [scheduler/process.c]
	Implemented GetExitCodeProcess.  The code is a direct translation
	of GetExitCodeThread.

Mon Apr 27 22:20:25 1998  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* [loader/pe_image.c]
	Unload dummy module when PE_LoadLibraryEx32A fails with
	PE_LoadImage (makes Encarta 98 installer proceed).

	* [files/drive.c]
	Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
	Make GetCurrentDirectory32 behave like the code does and not
	like the help describes.

	* [files/profile.c]
	Revoke recent change in PROFILE_GetSection and try better 
	handling of special case.

	* [include/windows.h]
	Change definition of ACCEL32.

	* [misc/commdlg.c]
	Replace the GetXXXFilename32 macros by normal code.
	Fix two reported bugs in my changes to commdlg.

	* [windows/win.c]
	Add a hook to catch bogus WM_SIZE messages by emitting a warning
	in the appropriate case.

	* [objects/bitmap.c]
	Reject unreasonbable large size arguments in
	CreateCompatibleBitmap32 and add an fixme for that situation.

Sun Apr 26 18:30:07 1998  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
	Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
	Make instruction emulation support system selectors.

	* [loader/*.c]
	Started moving NE specific functions to the new loader/ne
	directory.

	* [memory/environ.c]
	Enforce the 127 chars limit only when creating the environment of
	a Win16 process.

Sun Apr 26 12:22:23 1998  Andreas Mohr <100.30936@germany.net>

	* [files/file.c]
	Fixed an incredible typo in CopyFile32A that made it unusable
	since a rewrite in 970112 (!!).

	* [files/directory.c]
	Fixed GetTempPath32A/W to include trailing backslash.

	* [misc/ver.c]
	Make find_pe_resource "work" with corrupt files.

	* [misc/wsprintf.c]
	Altered WPRINTF_ParseFormatA/W to treat invalid format chars
	as normal output, too.

	* [msdos/dpmi.c]
	Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
	Cross your fingers if you need to use it ;) (completely untested)
	Implemented "Call real mode proc with far return" (0x0301, tested).

	* [msdos/int21.c]
	Fixed ioctlGenericBlkDevReq/0x60.

	* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
	Added built-in DPLAYX.DLL. 

	* [windows/win.c]
	Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
	if it has no parent (SDK).

Sat Apr 25 15:09:53 1998  M.T.Fortescue  <mark@mtfhpc.demon.co.uk>

	* [debugger/db_disasm.c]
	Fixed disassemble bug for no-display option and 'lock',
	'repne' and 'repe' prefixes.

	* [debugger/registers.c]
	Added textual flag description output on 'info regs'.

Sat Apr 25 14:18:26 1998  Matthew Becker <mbecker@glasscity.net>

	* [*/*.c]
	Added stubs and/or documentation for the following functions: 
	LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity, 
	StartService, SetComputerName, DeleteService, CloseServiceHandle, 
	OpenProcessToken, OpenSCManager, DeregisterEventSource, 
	WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
	SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
	SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
	PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
	DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
	DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
	DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
	RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
	CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
	SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
	CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
	SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
	GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
	SetConsoleTextAttribute, SetConsoleScreenBufferSize,
	FillConsoleOutputCharacter, FillConsoleOutputAttribute,
	CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
	GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
	WaitForDebugEvent, SetComputerName, CreateMDIWindow.

Thu Apr 23 23:54:04 1998  Douglas Ridgway  <ridgway@winehq.com>

	* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
	Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.

	* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
	32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.

	* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
	Some rotated text support for X11R6 displays.

	* [win32/newfns.c] [ole/ole2nls.c]
	Moved GetNumberFormat32A.

Wed Apr 22 17:38:20 1998  David Lee Lambert <lamber45@egr.msu.edu>

	* [ole/ole2nls.c] [misc/network.c]
	Changed some function documentation to the new style.

	* [misc/network.c] [include/windows.h] [if1632/user.spec]
	  [relay32/mpr.spec] [misc/mpr.c]
	Added stubs for some Win32 network functions;  renamed some 
	16-bit ones with 32-bit counterparts,  as well as
	WNetGetDirectoryType;  moved the stubs in misc/mpr.c (three of
	them!) to misc/network.c.

	* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c] 
	  [ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
	  [graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
	  [graphics/driver.c] [graphics/escape.c]
	Changed fprintf's to proper debug-macros.

	* [include/winnls.h]
	Added some flags (for internal use).

	* [ole/ole2nls.c] 
	Added the Unicode core function, and worked out a way to hide
	the commonality of the core.

	* [relay32/kernel32.spec]
	Added support for GetDate/Time32A/W.

Wed Apr 22 09:16:03 1998  Gordon Chaffee  <chaffee@cs.berkeley.edu>

	* [win32/code_page.c]
	Fixed problem with MultiByteToWideChar that was introduced in
	last release.  Made MultiByteToWideChar more compatible with Win32.

	* [graphics/x11drv/graphics.c]
	Fixed problem with drawing arcs.

Tue Apr 21 11:24:58 1998  Constantine Sapuntzakis  <csapuntz@tma-1.lcs.mit.edu>

	*  [ole/ole2nls.c]
	Move stuff from 0x409 case to Lang_En. 

	*  [relay32/user32.spec] [windows/winpos.c]
	Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
	Paperclip happy.

Tue Apr 21 11:16:16 1998  Constantine Sapuntzakis  <csapuntz@tma-1.lcs.mit.edu>

	*  [loader/pe_image.c]
	If image is relocated, TLS addresses need to be adjusted.

	* [debugger/*.c]
	Generalized tests for 32-bit segments.

Tue Apr 21 02:04:59 1998  James Juran  <jrj120@psu.edu>
	
	* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c] 
	  [include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c] 
	  [objects/*.c]
	Almost all fprintf statements converted to appropriate 
	debug messages.

	* [README]
	Updated "GETTING MORE INFORMATION" section to include WineHQ.

	* [documentation/debugger]
	Fixed typo.

	* [windows/defwnd.c]
	Added function documentation.

Sun Apr 19 16:30:58 1998  Marcus Meissner <marcus@mud.de>

	* [Make.rules.in]
	Added lint target (using lclint).

	* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
	  [ole/ole2disp.c]
	Added oleaut32 spec, added some SysString functions.

	* [if1632/signal.c]
	Added printing of faultaddress in Linux (using CR2 debug register).

	* [configure.in]
	Added <sys/types.h> for statfs checks.

	* [loader/*.c][debugger/break.c][debugger/hash.c]
	Started to split win32/win16 module handling, preparing support
	for other binary formats (like ELF).

Sat Apr 18 10:07:41 1998  Rein Klazes <rklazes@casema.net>

	* [misc/registry.c]
	Fixed a bug that made RegQueryValuexxx returning
	incorrect registry values.

Fri Apr 17 22:59:22 1998  Alexander V. Lukyanov <lav@long.yar.ru>

	* [misc/lstr.c]
	FormatMessage32*: remove linefeed when nolinefeed set;
	check for target underflow.

Fri Apr 17 00:38:14 1998  Alexander V. Lukyanov <lav@long.yar.ru>

	* [misc/crtdll.c]
	Implement xlat_file_ptr for CRT stdin/stdout/stderr address
	translation.

Wed Apr 15 20:43:56 1998  Jim Peterson <jspeter@birch.ee.vt.edu>

	* [controls/menu.c]
	Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
	WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).

Tue Apr 14 16:17:55 1998  Berend Reitsma <berend@united-info.com>

	* [graphics/metafiledrv/init.c]	[graphics/painting.c] 
	  [graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
	  [graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
	  [relay32/gdi32.spec]
	Added PolyPolyline routine.

	* [windows/winproc.c]
	Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
diff --git a/objects/bitmap.c b/objects/bitmap.c
index 71fc644..241eaf3 100644
--- a/objects/bitmap.c
+++ b/objects/bitmap.c
@@ -81,7 +81,7 @@
 	break;
 
     default:
-	fprintf(stderr,"GetBitsPadding: unknown depth %d, please report.\n", bpp );
+	WARN(bitmap,"Unknown depth %d, please report.\n", bpp );
         return -1;
     }
     return pad;
@@ -115,7 +115,7 @@
 	return 2 * ((bmWidth+3) >> 2);
 
     default:
-	fprintf(stderr,"GetBitsPadding: unknown depth %d, please report.\n", bpp );
+	WARN(bitmap,"Unknown depth %d, please report.\n", bpp );
     }
     return -1;
 }
@@ -130,8 +130,19 @@
 }
 
 
-/***********************************************************************
- *           CreateBitmap32    (GDI32.25)
+/******************************************************************************
+ * CreateBitmap32 [GDI32.25]  Creates a bitmap with the specified info
+ *
+ * PARAMS
+ *    width  [I] bitmap width
+ *    height [I] bitmap height
+ *    planes [I] Number of color planes
+ *    bpp    [I] Number of bits to identify a color
+ *    bits   [I] Pointer to array containing color data
+ *
+ * RETURNS
+ *    Success: Handle to bitmap
+ *    Failure: NULL
  */
 HBITMAP32 WINAPI CreateBitmap32( INT32 width, INT32 height, UINT32 planes,
                                  UINT32 bpp, LPCVOID bits )
@@ -142,8 +153,7 @@
     planes = (BYTE)planes;
     bpp    = (BYTE)bpp;
 
-    TRACE(gdi, "%dx%d, %d colors\n", 
-                 width, height, 1 << (planes*bpp) );
+    TRACE(gdi, "%dx%d, %d colors\n", width, height, 1 << (planes*bpp) );
 
       /* Check parameters */
     if (!height || !width || planes != 1) return 0;
@@ -190,17 +200,31 @@
 }
 
 
-/***********************************************************************
- *           CreateCompatibleBitmap32    (GDI32.30)
+/******************************************************************************
+ * CreateCompatibleBitmap32 [GDI32.30]  Creates a bitmap compatible with the DC
+ *
+ * PARAMS
+ *    hdc    [I] Handle to device context
+ *    width  [I] Width of bitmap
+ *    height [I] Height of bitmap
+ *
+ * RETURNS
+ *    Success: Handle to bitmap
+ *    Failure: NULL
  */
-HBITMAP32 WINAPI CreateCompatibleBitmap32(HDC32 hdc, INT32 width, INT32 height)
+HBITMAP32 WINAPI CreateCompatibleBitmap32( HDC32 hdc, INT32 width, INT32 height)
 {
     HBITMAP32 hbmpRet = 0;
     DC *dc;
 
-    TRACE(gdi, "(%04x,%d,%d) = \n", 
-                 hdc, width, height );
+    TRACE(gdi, "(%04x,%d,%d) = \n", hdc, width, height );
     if (!(dc = DC_GetDCPtr( hdc ))) return 0;
+    if ((width >0x1000) || (height > 0x1000))
+      {
+	FIXME(gdi,"got bad width %d or height %d, please look for reason\n",
+	       width, height );
+	return 0;
+      }
     hbmpRet = CreateBitmap32( width, height, 1, dc->w.bitsPerPixel, NULL );
     TRACE(gdi,"\t\t%04x\n", hbmpRet);
     return hbmpRet;
@@ -217,10 +241,15 @@
 }
 
 
-/***********************************************************************
- *           CreateBitmapIndirect32    (GDI32.26)
+/******************************************************************************
+ * CreateBitmapIndirect32 [GDI32.26]  Creates a bitmap with the specifies info
+ *
+ * RETURNS
+ *    Success: Handle to bitmap
+ *    Failure: NULL
  */
-HBITMAP32 WINAPI CreateBitmapIndirect32( const BITMAP32 * bmp )
+HBITMAP32 WINAPI CreateBitmapIndirect32(
+    const BITMAP32 * bmp) /* [in] Pointer to the bitmap data */
 {
     return CreateBitmap32( bmp->bmWidth, bmp->bmHeight, bmp->bmPlanes,
                            bmp->bmBitsPixel, bmp->bmBits );
@@ -249,9 +278,16 @@
 
 
 /***********************************************************************
- *           GetBitmapBits32    (GDI32.143)
+ * GetBitmapBits32 [GDI32.143]  Copies bitmap bits of bitmap to buffer
+ * 
+ * RETURNS
+ *    Success: Number of bytes copied
+ *    Failure: 0
  */
-LONG WINAPI GetBitmapBits32( HBITMAP32 hbitmap, LONG count, LPVOID buffer )
+LONG WINAPI GetBitmapBits32(
+    HBITMAP32 hbitmap, /* [in]  Handle to bitmap */
+    LONG count,        /* [in]  Number of bytes to copy */
+    LPVOID buffer)     /* [out] Pointer to buffer to receive bits */
 {
     BITMAPOBJ * bmp;
     LONG height, old_height;
@@ -261,7 +297,7 @@
     
     /* KLUDGE! */
     if (count < 0) {
-	fprintf(stderr, "Negative number of bytes (%ld) passed to GetBitmapBits???\n", count );
+	WARN(bitmap, "(%ld): Negative number of bytes passed???\n", count );
 	count = -count;
     }
     bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
@@ -356,6 +392,9 @@
 	    }
             tbuf += pad;
 	}
+        break;
+    default:
+        FIXME(bitmap, "Unhandled bits:%d\n", bmp->bitmap.bmBitsPixel);
     }
     XDestroyImage( image );
     LeaveCriticalSection( &X11DRV_CritSection );
@@ -374,10 +413,17 @@
 }
 
 
-/***********************************************************************
- *           SetBitmapBits32    (GDI32.303)
+/******************************************************************************
+ * SetBitmapBits32 [GDI32.303]  Sets bits of color data for a bitmap
+ *
+ * RETURNS
+ *    Success: Number of bytes used in setting the bitmap bits
+ *    Failure: 0
  */
-LONG WINAPI SetBitmapBits32( HBITMAP32 hbitmap, LONG count, LPCVOID buffer )
+LONG WINAPI SetBitmapBits32(
+    HBITMAP32 hbitmap, /* [in] Handle to bitmap */
+    LONG count,        /* [in] Number of bytes in bitmap array */
+    LPCVOID buffer)    /* [in] Address of array with bitmap bits */
 {
     struct XPutImage_descr descr;
     BITMAPOBJ * bmp;
@@ -388,7 +434,7 @@
     
     /* KLUDGE! */
     if (count < 0) {
-	fprintf(stderr, "Negative number of bytes (%ld) passed to SetBitmapBits???\n", count );
+	WARN(bitmap, "(%ld): Negative number of bytes passed???\n", count );
 	count = -count;
     }
     bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
@@ -491,17 +537,19 @@
     return height * bmp->bitmap.bmWidthBytes;
 }
 
+/***********************************************************************
+ * LoadImage16 [USER.389]
+ *
+ */
 HANDLE16 WINAPI LoadImage16( HINSTANCE16 hinst, LPCSTR name, UINT16 type,
                              INT16 desiredx, INT16 desiredy, UINT16 loadflags)
 {
 	if (HIWORD(name)) {
-		fprintf(stddeb,"LoadImage16(0x%04x,%s,%d,%d,%d,0x%08x)\n",
-			hinst,(char *)PTR_SEG_TO_LIN(name),type,desiredx,desiredy,loadflags
-		);
+	    TRACE(resource,"(0x%04x,%s,%d,%d,%d,0x%08x)\n",
+                hinst,(char *)PTR_SEG_TO_LIN(name),type,desiredx,desiredy,loadflags);
 	} else {
-		fprintf(stddeb,"LoadImage16(0x%04x,%p,%d,%d,%d,0x%08x)\n",
-			hinst,name,type,desiredx,desiredy,loadflags
-		);
+	    TRACE(resource,"LoadImage16(0x%04x,%p,%d,%d,%d,0x%08x)\n",
+                hinst,name,type,desiredx,desiredy,loadflags);
 	}
 	switch (type) {
 	case IMAGE_BITMAP:
@@ -514,8 +562,10 @@
 	return 0;
 	
 }
+
 /**********************************************************************
  *	    LoadImage32A    (USER32.365)
+ * 
  * FIXME: implementation still lacks nearly all features, see LR_*
  * defines in windows.h
  */
@@ -543,8 +593,35 @@
 	return 0;
 }
 
+/**********************************************************************
+ *	    LoadImage32W    (USER32.366)
+ * 
+ * FIXME: implementation still lacks nearly all features, see LR_*
+ * defines in windows.h
+ */
+
+
+/******************************************************************************
+ * LoadImage32W [USER32.366]  Loads an icon, cursor, or bitmap
+ *
+ * PARAMS
+ *    hinst     [I] Handle of instance that contains image
+ *    name      [I] Name of image
+ *    type      [I] Type of image
+ *    desiredx  [I] Desired width
+ *    desiredy  [I] Desired height
+ *    loadflags [I] Load flags
+ *
+ * RETURNS
+ *    Success: Handle to newly loaded image
+ *    Failure: NULL
+ *
+ * BUGS
+ *    Implementation still lacks nearly all features, see LR_*
+ *    defines in windows.h
+ */
 HANDLE32 WINAPI LoadImage32W( HINSTANCE32 hinst, LPCWSTR name, UINT32 type,
-                              INT32 desiredx, INT32 desiredy, UINT32 loadflags)
+                INT32 desiredx, INT32 desiredy, UINT32 loadflags )
 {
 	if (HIWORD(name)) {
 		TRACE(resource,"(0x%04x,%p,%d,%d,%d,0x%08x)\n",
@@ -555,20 +632,25 @@
 			hinst,name,type,desiredx,desiredy,loadflags
 		);
 	}
-	switch (type) {
-	case IMAGE_BITMAP:
-		return LoadBitmap32W(hinst,name);
-	case IMAGE_ICON:
-		return LoadIcon32W(hinst,name);
-	case IMAGE_CURSOR:
-		return LoadCursor32W(hinst,name);
-	}
-	return 0;
+
+    switch (type) {
+        case IMAGE_BITMAP:
+            return LoadBitmap32W(hinst,name);
+        case IMAGE_ICON:
+            return LoadIcon32W(hinst,name);
+        case IMAGE_CURSOR:
+            return LoadCursor32W(hinst,name);
+    }
+    return NULL;
 }
 
+
 /**********************************************************************
  *          CopyBitmap32 (not an API)
  *
+ * NOTES
+ *    If it is not an API, why is it declared with WINAPI?
+ *
  */
 HBITMAP32 WINAPI CopyBitmap32 (HBITMAP32 hnd)
 {
@@ -583,8 +665,20 @@
     return res;
 }
 
-/**********************************************************************
- *	    CopyImage32    (USER32.61)
+
+/******************************************************************************
+ * CopyImage32 [USER32.61]  Creates new image and copies attributes to it
+ *
+ * PARAMS
+ *    hnd      [I] Handle to image to copy
+ *    type     [I] Type of image to copy
+ *    desiredx [I] Desired width of new image
+ *    desiredy [I] Desired height of new image
+ *    flags    [I] Copy flags
+ *
+ * RETURNS
+ *    Success: Handle to newly created image
+ *    Failure: NULL
  *
  * FIXME: implementation still lacks nearly all features, see LR_*
  * defines in windows.h
@@ -607,6 +701,9 @@
 
 /**********************************************************************
  *	    LoadBitmap16    (USER.175)
+ *
+ * NOTES
+ *    Can this call LoadBitmap32?
  */
 HBITMAP16 WINAPI LoadBitmap16( HINSTANCE16 instance, SEGPTR name )
 {
@@ -647,10 +744,17 @@
     return hbitmap;
 }
 
-/**********************************************************************
- *	    LoadBitmap32W   (USER32.358)
+
+/******************************************************************************
+ * LoadBitmap32W [USER32.358]  Loads bitmap from the executable file
+ *
+ * RETURNS
+ *    Success: Handle to specified bitmap
+ *    Failure: NULL
  */
-HBITMAP32 WINAPI LoadBitmap32W( HINSTANCE32 instance, LPCWSTR name )
+HBITMAP32 WINAPI LoadBitmap32W(
+    HINSTANCE32 instance, /* [in] Handle to application instance */
+    LPCWSTR name)         /* [in] Address of bitmap resource name */
 {
     HBITMAP32 hbitmap = 0;
     HDC32 hdc;
@@ -754,7 +858,6 @@
 }
     
 
-
 /***********************************************************************
  *           CreateDiscardableBitmap16    (GDI.156)
  */
@@ -765,11 +868,17 @@
 }
 
 
-/***********************************************************************
- *           CreateDiscardableBitmap32    (GDI32.38)
+/******************************************************************************
+ * CreateDiscardableBitmap32 [GDI32.38]  Creates a discardable bitmap
+ *
+ * RETURNS
+ *    Success: Handle to bitmap
+ *    Failure: NULL
  */
-HBITMAP32 WINAPI CreateDiscardableBitmap32( HDC32 hdc, INT32 width,
-                                            INT32 height )
+HBITMAP32 WINAPI CreateDiscardableBitmap32(
+    HDC32 hdc,    /* [in] Handle to device context */
+    INT32 width,  /* [in] Bitmap width */
+    INT32 height) /* [in] Bitmap height */
 {
     return CreateCompatibleBitmap32( hdc, width, height );
 }
@@ -777,6 +886,9 @@
 
 /***********************************************************************
  *           GetBitmapDimensionEx16    (GDI.468)
+ *
+ * NOTES
+ *    Can this call GetBitmapDimensionEx32?
  */
 BOOL16 WINAPI GetBitmapDimensionEx16( HBITMAP16 hbitmap, LPSIZE16 size )
 {
@@ -788,10 +900,16 @@
 }
 
 
-/***********************************************************************
- *           GetBitmapDimensionEx32    (GDI32.144)
+/******************************************************************************
+ * GetBitmapDimensionEx32 [GDI32.144]  Retrieves dimensions of a bitmap
+ *
+ * RETURNS
+ *    Success: TRUE
+ *    Failure: FALSE
  */
-BOOL32 WINAPI GetBitmapDimensionEx32( HBITMAP32 hbitmap, LPSIZE32 size )
+BOOL32 WINAPI GetBitmapDimensionEx32(
+    HBITMAP32 hbitmap, /* [in]  Handle to bitmap */
+    LPSIZE32 size)     /* [out] Address of struct receiving dimensions */
 {
     BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
     if (!bmp) return FALSE;
@@ -829,11 +947,18 @@
 }
 
 
-/***********************************************************************
- *           SetBitmapDimensionEx32    (GDI32.304)
+/******************************************************************************
+ * SetBitmapDimensionEx32 [GDI32.304]  Assignes dimensions to a bitmap
+ *
+ * RETURNS
+ *    Success: TRUE
+ *    Failure: FALSE
  */
-BOOL32 WINAPI SetBitmapDimensionEx32( HBITMAP32 hbitmap, INT32 x, INT32 y,
-                                      LPSIZE32 prevSize )
+BOOL32 WINAPI SetBitmapDimensionEx32(
+    HBITMAP32 hbitmap, /* [in]  Handle to bitmap */
+    INT32 x,           /* [in]  Bitmap width */
+    INT32 y,           /* [in]  Bitmap height */
+    LPSIZE32 prevSize) /* [out] Address of structure for orig dims */
 {
     BITMAPOBJ * bmp = (BITMAPOBJ *) GDI_GetObjPtr( hbitmap, BITMAP_MAGIC );
     if (!bmp) return FALSE;