as Christoffer correctly suggested, BOOL is nothing more than YAMT (Yet Another Microsoft Typedef). bool, however, is a standard ANSI C data type. i'm not sure what motivated Microsoft to create BOOL, but they do use it rather pervasively throughout their APIs. perhaps they thought boolean value types would change with pointer sizes? who knows... more specifically, SHDocVw is a hybrid library (containing the SHDocVw COM typelib as well as native Win32 exports) that is responsible for providing the file and web document objects and related functionality. it's surprising that the DDE functionality can be found there - it's pretty dissimilar to everything else that the library does. pigs have yet to fly, though, so i guess i'm safe. :-) regards, voxelite __________________________________________________ Subscription options and archive: http://www.freelists.org/list/shell-coding