home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 October / Chip_1997-10_cd.bin / tema / sybase / powerj / hpp.z / woletype.hpp < prev    next >
C/C++ Source or Header  |  1997-01-24  |  5KB  |  173 lines

  1. /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2.    %     Copyright (C) 1994, by WATCOM International Inc.  All rights    %
  3.    %     reserved.  No part of this software may be reproduced or        %
  4.    %     used in any form or by any means - graphic, electronic or       %
  5.    %     mechanical, including photocopying, recording, taping or        %
  6.    %     information storage and retrieval systems - except with the     %
  7.    %     written permission of WATCOM International Inc.                 %
  8.    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9. */
  10.  
  11. #ifndef _WOLETYPE_HPP_INCLUDED
  12. #define _WOLETYPE_HPP_INCLUDED
  13.  
  14. #ifndef _WNO_PRAGMA_PUSH
  15. #pragma pack(push,8);
  16. #pragma enum int;
  17. #endif
  18.  
  19. #define WOLE_IFACE(name)        struct _w##name { int dummy; }; \
  20.                                 typedef const struct _w##name * name
  21.  
  22. WOLE_IFACE(WPIUnknown );
  23.  
  24. WOLE_IFACE(WPIDispatch );
  25.  
  26. WOLE_IFACE(WPIStream );
  27.  
  28. WOLE_IFACE(WPIStorage );
  29.  
  30. WOLE_IFACE(WPIClassFactory );
  31.  
  32. WOLE_IFACE(WPIClassFactory2 );
  33.  
  34. WOLE_IFACE(WPIDataObject );
  35.  
  36. WOLE_IFACE(WPICursor );
  37.  
  38. WOLE_IFACE(WPIFont );
  39.  
  40. WOLE_IFACE(WPIPicture );
  41.  
  42. WOLE_IFACE(WPIErrorInfo );
  43.  
  44. // **** The following represent a minimal cover for the data types
  45. // **** defined in the OLE Automation header files
  46.  
  47. typedef unsigned int WDispIndex;
  48.  
  49. typedef long WDispID;
  50.  
  51. typedef WDispID WMemberID;
  52.  
  53. typedef long WScode;
  54.  
  55. typedef long WHRESULT;
  56.  
  57. typedef short WVARIANT_BOOL;
  58.  
  59. typedef double WDate;
  60.  
  61. typedef long char * WBStr;
  62.  
  63. /**********************************************************
  64.  * Typedefs for standard scalar types
  65.  *********************************************************/
  66. typedef unsigned long   WOLE_COLOR;
  67. typedef long            WOLE_XPOS_PIXELS;
  68. typedef long            WOLE_YPOS_PIXELS;
  69. typedef long            WOLE_XSIZE_PIXELS;
  70. typedef long            WOLE_YSIZE_PIXELS;
  71. typedef long            WOLE_XPOS_HIMETRIC;
  72. typedef long            WOLE_YPOS_HIMETRIC;
  73. typedef long            WOLE_XSIZE_HIMETRIC;
  74. typedef long            WOLE_YSIZE_HIMETRIC;
  75. typedef float           WOLE_XPOS_CONTAINER;
  76. typedef float           WOLE_YPOS_CONTAINER;
  77. typedef float           WOLE_XSIZE_CONTAINER;
  78. typedef float           WOLE_YSIZE_CONTAINER;
  79. typedef WBool           WOLE_OPTEXCLUSIVE;
  80. typedef WBool           WOLE_CANCELBOOL;
  81. typedef WBool           WOLE_ENABLEDEFAULTBOOL;
  82. typedef unsigned int    WOLE_HANDLE;
  83.  
  84. enum WOLE_TRISTATE { WtriUnchecked = 0, WtriChecked = 1, WtriGray = 2 };
  85.  
  86. typedef struct {
  87.     unsigned long       dwLowDateTime;
  88.     unsigned long       dwHighDateTime;
  89. } WFileTime;
  90.  
  91. typedef struct {
  92.     unsigned long       Lo;
  93.     long                Hi;
  94. } WCurrency;  // CY
  95.  
  96. typedef struct {
  97.     unsigned long       cElements;
  98.     long                lLbound;
  99. } WSafeArrayBound;
  100.  
  101. typedef struct {
  102.     unsigned short      cDims;
  103.     unsigned short      fFeatures;
  104.     unsigned long       cbElements;
  105.     unsigned long       cLocks;
  106.     void                *pvData;
  107.     WSafeArrayBound     rgsabound[1];
  108. } WSafeArray;
  109.  
  110. // the following are the feature flags for the WSafeArray
  111. #define WFADF_AUTO      ( 0x1 )
  112. #define WFADF_STATIC    ( 0x2 )
  113. #define WFADF_EMBEDDED  ( 0x4 )
  114. #define WFADF_FIXEDSIZE ( 0x10 )
  115. #define WFADF_BSTR      ( 0x100 )
  116. #define WFADF_UNKNOWN   ( 0x200 )
  117. #define WFADF_DISPATCH  ( 0x400 )
  118. #define WFADF_VARIANT   ( 0x800 )
  119. #define WFADF_RESERVED  ( 0xf0e8 )
  120.  
  121. typedef struct {
  122.     WDWord      LowPart;
  123.     WLong       HighPart;
  124. } WLARGE_INTEGER;
  125.  
  126. typedef struct {
  127.     WDWord      LowPart;
  128.     WDWord      HighPart;
  129. } WULARGE_INTEGER;
  130.  
  131. #define WLISet32(li, v) ((li).HighPart = (v) < 0 ? -1 : 0, (li).LowPart = (v))
  132. #define WULISet32(li, v) ((li).HighPart = 0, (li).LowPart = (v))
  133.  
  134. #define WLongFromLI(l, li) ( (l) = (li).LowPart)
  135. #define WULongFromULI(ul, li) ((ul) = (li).LowPart)
  136.  
  137. typedef struct {
  138.     WDWord      Data1;
  139.     WUShort     Data2;
  140.     WUShort     Data3;
  141.     WByte       Data4[ 8 ];
  142. } WGUID;
  143.  
  144. typedef WGUID WIID;
  145. typedef WGUID WCLSID;
  146.  
  147. extern "C" const WGUID WGUID_NULL;
  148. #define WCLSID_NULL WGUID_NULL
  149. #define WIID_NULL WGUID_NULL
  150.  
  151. WBool WEXPORT WIsEqualWGUID( const WGUID & guid1, const WGUID & guid2 );
  152. #define WIsEqualWCLSID WIsEqualWGUID
  153. #define WIsEqualWIID WIsEqualWGUID
  154.  
  155. extern WBool WEXPORT operator==(const WGUID& guid1, const WGUID& guid2 );
  156. extern WBool WEXPORT operator!=(const WGUID& guid1, const WGUID& guid2 );
  157.  
  158. typedef struct {
  159.     WDWord      tdSize;
  160.     WUShort     tdDriverNameOffset;
  161.     WUShort     tdDeviceNameOffset;
  162.     WUShort     tdPortNameOffset;
  163.     WUShort     tdExtDevmodeOffset;
  164.     WByte       tdData[ 1 ];
  165. } WDVTargeTDevice;
  166.  
  167. #ifndef _WNO_PRAGMA_PUSH
  168. #pragma enum pop;
  169. #pragma pack(pop);
  170. #endif
  171.  
  172. #endif // _WOLETYPE_HPP_INCLUDED
  173.