Article ID: 131896
Article Last Modified on 11/22/2005
WM_DDE_ACK
WM_DDE_ADVISE
WM_DDE_DATA
WM_DDE_EXECUTE
WM_DDE_POKE
Because of the widening of handles, there is not enough space in the
Win32 message parameters for all the Windows data. Win32-based
applications are required to call helper functions that package the data
into memory (DDEPACK structure) referenced by a special handle. Win32s
implements the helper functions and allocates the DDEPACK structure on
behalf of 16-bit code when necessary.
lParam = PackDDElParam(...)
if (PostMessage(...,lParam))
receiving window has obligation of freeing memory
lParam now invalid for this process
else
FreeDDElParam(...,lParam)
A Win32s hook procedure that has called CallNextHookProc() should not
use the lParam handle as the later's return code indicates that the
message has been processed. The hooks that could possibly process a DDE
message are:
WH_DEBUG
WH_HARDWARE
WH_KEYBOARD
WH_MOUSE
WH_MSGFILTER
WH_SYSMSGFILTER
In each case, if the hook proc (and therefore CallNextHookEx()) returns
a non-zero value, the message was either discarded or processed.
Windows-based procedures should not use the lParam of a DDE message
after handing it off to any other message API because they cannot know
if the message has been processed, so they must assume that it has been.
CreateFileMapping(hFile,
lpsa,
fdwProtect,
dwMaximumSizeHigh,
dwMaximumSizeHigh,
lpszMapName)
lpsa - Ignored.
dwMaximumSizeHigh - Must be zero.
MapViewOfFile(hMapObject,
fdwAccess,
dwOffsetHigh,
dwOffsetLow,
cbMap)
dwOffsetHigh - Must be zero.
BANDINFO ;24
GETSETPAPERBINS ;29
ENUMPAPERMETRICS ;34
EXTTEXTOUT ;512
SETALLJUSTVALUES ;771
CreateBitmap
CreateBitmapIndirect
GetBitmapBits
SetBitmapBits
key1=x1
key2=x2
key2=x3
key2=x4
key3=x5
key2=x6
key1=x1
key2=x2
key2=x2
key2=x2
key3=x5
key2=x2
Additional query words: limits docerr docerror win32s unsupported tshoot
Keywords: kbinfo kbtshoot kbprogramming KB131896