home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / BC_502 / MSINC.PAK / WTYPES.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-06  |  29.3 KB  |  1,267 lines

  1. #pragma option -b
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  
  4.  
  5. /* File created by MIDL compiler version 3.00.44 */
  6. /* at Fri Jul 12 18:09:25 1996
  7.  */
  8. /* Compiler settings for wtypes.idl:
  9.     Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
  10.     error checks: none
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. #pragma option -b.
  14. #include "rpc.h"
  15. #pragma option -b
  16. #pragma option -b.
  17. #include "rpcndr.h"
  18. #pragma option -b
  19.  
  20. #ifndef __wtypes_h__
  21. #define __wtypes_h__
  22.  
  23. #ifdef __cplusplus
  24. extern "C"{
  25. #endif 
  26.  
  27. /* Forward Declarations */ 
  28.  
  29. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  30. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  31.  
  32. /****************************************
  33.  * Generated header for interface: __MIDL__intf_0000
  34.  * at Fri Jul 12 18:09:25 1996
  35.  * using MIDL 3.00.44
  36.  ****************************************/
  37. /* [local] */ 
  38.  
  39.  
  40. //+-------------------------------------------------------------------------
  41. //
  42. //  Microsoft Windows
  43. //  Copyright (C) Microsoft Corporation, 1992 - 1996.
  44. //
  45. //--------------------------------------------------------------------------
  46.  
  47.  
  48. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  49. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  50.  
  51. #ifndef __IWinTypes_INTERFACE_DEFINED__
  52. #define __IWinTypes_INTERFACE_DEFINED__
  53.  
  54. /****************************************
  55.  * Generated header for interface: IWinTypes
  56.  * at Fri Jul 12 18:09:25 1996
  57.  * using MIDL 3.00.44
  58.  ****************************************/
  59. /* [auto_handle][unique][version][uuid] */ 
  60.  
  61.  
  62. typedef struct  tagRemHGLOBAL
  63.     {
  64.     long fNullHGlobal;
  65.     unsigned long cbData;
  66.     /* [size_is] */ byte data[ 1 ];
  67.     }    RemHGLOBAL;
  68.  
  69. typedef struct  tagRemHMETAFILEPICT
  70.     {
  71.     long mm;
  72.     long xExt;
  73.     long yExt;
  74.     unsigned long cbData;
  75.     /* [size_is] */ byte data[ 1 ];
  76.     }    RemHMETAFILEPICT;
  77.  
  78. typedef struct  tagRemHENHMETAFILE
  79.     {
  80.     unsigned long cbData;
  81.     /* [size_is] */ byte data[ 1 ];
  82.     }    RemHENHMETAFILE;
  83.  
  84. typedef struct  tagRemHBITMAP
  85.     {
  86.     unsigned long cbData;
  87.     /* [size_is] */ byte data[ 1 ];
  88.     }    RemHBITMAP;
  89.  
  90. typedef struct  tagRemHPALETTE
  91.     {
  92.     unsigned long cbData;
  93.     /* [size_is] */ byte data[ 1 ];
  94.     }    RemHPALETTE;
  95.  
  96. typedef struct  tagRemBRUSH
  97.     {
  98.     unsigned long cbData;
  99.     /* [size_is] */ byte data[ 1 ];
  100.     }    RemHBRUSH;
  101.  
  102. #if !defined(_WIN32) && !defined(_MPPC_)
  103. // The following code is for Win16 only
  104. #ifndef WINAPI          // If not included with 3.1 headers...
  105. #define FAR             _far
  106. #define PASCAL          _pascal
  107. #define CDECL           _cdecl
  108. #define VOID            void
  109. #define WINAPI      FAR PASCAL
  110. #define CALLBACK    FAR PASCAL
  111. #ifndef FALSE
  112. #define FALSE 0
  113. #define TRUE 1
  114. #endif // !FALSE
  115. #ifndef _BYTE_DEFINED
  116. #define _BYTE_DEFINED
  117. typedef unsigned char BYTE;
  118.  
  119. #endif // !_BYTE_DEFINED
  120. #ifndef _WORD_DEFINED
  121. #define _WORD_DEFINED
  122. typedef unsigned short WORD;
  123.  
  124. #endif // !_WORD_DEFINED
  125. typedef unsigned int UINT;
  126.  
  127. typedef int INT;
  128.  
  129. typedef long BOOL;
  130.  
  131. #ifndef _LONG_DEFINED
  132. #define _LONG_DEFINED
  133. typedef long LONG;
  134.  
  135. #endif // !_LONG_DEFINED
  136. #ifndef _WPARAM_DEFINED
  137. #define _WPARAM_DEFINED
  138. typedef UINT WPARAM;
  139.  
  140. #endif // _WPARAM_DEFINED
  141. #ifndef _DWORD_DEFINED
  142. #define _DWORD_DEFINED
  143. typedef unsigned long DWORD;
  144.  
  145. #endif // !_DWORD_DEFINED
  146. #ifndef _LPARAM_DEFINED
  147. #define _LPARAM_DEFINED
  148. typedef LONG LPARAM;
  149.  
  150. #endif // !_LPARAM_DEFINED
  151. #ifndef _LRESULT_DEFINED
  152. #define _LRESULT_DEFINED
  153. typedef LONG LRESULT;
  154.  
  155. #endif // !_LRESULT_DEFINED
  156. typedef void __RPC_FAR *HANDLE;
  157.  
  158. typedef void __RPC_FAR *HMODULE;
  159.  
  160. typedef void __RPC_FAR *HINSTANCE;
  161.  
  162. typedef void __RPC_FAR *HRGN;
  163.  
  164. typedef void __RPC_FAR *HTASK;
  165.  
  166. typedef void __RPC_FAR *HKEY;
  167.  
  168. typedef void __RPC_FAR *HDESK;
  169.  
  170. typedef void __RPC_FAR *HMF;
  171.  
  172. typedef void __RPC_FAR *HEMF;
  173.  
  174. typedef void __RPC_FAR *HPEN;
  175.  
  176. typedef void __RPC_FAR *HRSRC;
  177.  
  178. typedef void __RPC_FAR *HSTR;
  179.  
  180. typedef void __RPC_FAR *HWINSTA;
  181.  
  182. typedef void __RPC_FAR *HKL;
  183.  
  184. typedef void __RPC_FAR *HGDIOBJ;
  185.  
  186. typedef HANDLE HDWP;
  187.  
  188. #ifndef _HFILE_DEFINED
  189. #define _HFILE_DEFINED
  190. typedef INT HFILE;
  191.  
  192. #endif // !_HFILE_DEFINED
  193. #ifndef _LPWORD_DEFINED
  194. #define _LPWORD_DEFINED
  195. typedef WORD __RPC_FAR *LPWORD;
  196.  
  197. #endif // !_LPWORD_DEFINED
  198. #ifndef _LPDWORD_DEFINED
  199. #define _LPDWORD_DEFINED
  200. typedef DWORD __RPC_FAR *LPDWORD;
  201.  
  202. #endif // !_LPDWORD_DEFINED
  203. typedef char CHAR;
  204.  
  205. typedef /* [string] */ CHAR __RPC_FAR *LPSTR;
  206.  
  207. typedef /* [string] */ const CHAR __RPC_FAR *LPCSTR;
  208.  
  209. #ifndef _WCHAR_DEFINED
  210. #define _WCHAR_DEFINED
  211. typedef wchar_t WCHAR;
  212.  
  213. typedef WCHAR TCHAR;
  214.  
  215. #endif // !_WCHAR_DEFINED
  216. typedef /* [string] */ WCHAR __RPC_FAR *LPWSTR;
  217.  
  218. typedef /* [string] */ TCHAR __RPC_FAR *LPTSTR;
  219.  
  220. typedef /* [string] */ const WCHAR __RPC_FAR *LPCWSTR;
  221.  
  222. typedef /* [string] */ const TCHAR __RPC_FAR *LPCTSTR;
  223.  
  224. typedef struct  tagPALETTEENTRY
  225.     {
  226.     BYTE peRed;
  227.     BYTE peGreen;
  228.     BYTE peBlue;
  229.     BYTE peFlags;
  230.     }    PALETTEENTRY;
  231.  
  232. typedef struct tagPALETTEENTRY __RPC_FAR *PPALETTEENTRY;
  233.  
  234. typedef struct tagPALETTEENTRY __RPC_FAR *LPPALETTEENTRY;
  235.  
  236. #if 0
  237. typedef struct  tagLOGPALETTE
  238.     {
  239.     WORD palVersion;
  240.     WORD palNumEntries;
  241.     /* [size_is] */ PALETTEENTRY palPalEntry[ 1 ];
  242.     }    LOGPALETTE;
  243.  
  244. typedef struct tagLOGPALETTE __RPC_FAR *PLOGPALETTE;
  245.  
  246. typedef struct tagLOGPALETTE __RPC_FAR *LPLOGPALETTE;
  247.  
  248. #else
  249. typedef struct tagLOGPALETTE {
  250.     WORD        palVersion;
  251.     WORD        palNumEntries;
  252.     PALETTEENTRY        palPalEntry[1];
  253. } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
  254. #endif
  255. #ifndef _COLORREF_DEFINED
  256. #define _COLORREF_DEFINED
  257. typedef DWORD COLORREF;
  258.  
  259. #endif // !_COLORREF_DEFINED
  260. #ifndef _LPCOLORREF_DEFINED
  261. #define _LPCOLORREF_DEFINED
  262. typedef DWORD __RPC_FAR *LPCOLORREF;
  263.  
  264. #endif // !_LPCOLORREF_DEFINED
  265. typedef HANDLE __RPC_FAR *LPHANDLE;
  266.  
  267. typedef struct  _RECTL
  268.     {
  269.     LONG left;
  270.     LONG top;
  271.     LONG right;
  272.     LONG bottom;
  273.     }    RECTL;
  274.  
  275. typedef struct _RECTL __RPC_FAR *PRECTL;
  276.  
  277. typedef struct _RECTL __RPC_FAR *LPRECTL;
  278.  
  279. typedef struct  tagPOINT
  280.     {
  281.     LONG x;
  282.     LONG y;
  283.     }    POINT;
  284.  
  285. typedef struct tagPOINT __RPC_FAR *PPOINT;
  286.  
  287. typedef struct tagPOINT __RPC_FAR *LPPOINT;
  288.  
  289. typedef struct  _POINTL
  290.     {
  291.     LONG x;
  292.     LONG y;
  293.     }    POINTL;
  294.  
  295. typedef struct _POINTL __RPC_FAR *PPOINTL;
  296.  
  297. #ifndef WIN16
  298. typedef struct  tagSIZE
  299.     {
  300.     LONG cx;
  301.     LONG cy;
  302.     }    SIZE;
  303.  
  304. typedef struct tagSIZE __RPC_FAR *PSIZE;
  305.  
  306. typedef struct tagSIZE __RPC_FAR *LPSIZE;
  307.  
  308. #else // WIN16
  309. typedef struct tagSIZE
  310. {
  311.     INT cx;
  312.     INT cy;
  313. } SIZE, *PSIZE, *LPSIZE;
  314. #endif // WIN16
  315. typedef struct  tagSIZEL
  316.     {
  317.     LONG cx;
  318.     LONG cy;
  319.     }    SIZEL;
  320.  
  321. typedef struct tagSIZEL __RPC_FAR *PSIZEL;
  322.  
  323. typedef struct tagSIZEL __RPC_FAR *LPSIZEL;
  324.  
  325. #endif  //WINAPI
  326. #endif  //!WIN32 && !MPPC
  327. #if defined(_WIN32) && !defined(OLE2ANSI)
  328. typedef WCHAR OLECHAR;
  329.  
  330. typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR;
  331.  
  332. typedef /* [string] */ const OLECHAR __RPC_FAR *LPCOLESTR;
  333.  
  334. #define OLESTR(str) L##str
  335.  
  336. #else
  337.  
  338. typedef char      OLECHAR;
  339. typedef LPSTR     LPOLESTR;
  340. typedef LPCSTR    LPCOLESTR;
  341. #define OLESTR(str) str
  342. #endif
  343. #ifndef _WINDEF_
  344. typedef const RECTL __RPC_FAR *LPCRECTL;
  345.  
  346. typedef void __RPC_FAR *PVOID;
  347.  
  348. typedef void __RPC_FAR *LPVOID;
  349.  
  350. typedef float FLOAT;
  351.  
  352. typedef struct  tagRECT
  353.     {
  354.     LONG left;
  355.     LONG top;
  356.     LONG right;
  357.     LONG bottom;
  358.     }    RECT;
  359.  
  360. typedef struct tagRECT __RPC_FAR *PRECT;
  361.  
  362. typedef struct tagRECT __RPC_FAR *LPRECT;
  363.  
  364. typedef const RECT __RPC_FAR *LPCRECT;
  365.  
  366. #endif  //_WINDEF_
  367. typedef unsigned char UCHAR;
  368.  
  369. typedef short SHORT;
  370.  
  371. typedef unsigned short USHORT;
  372.  
  373. typedef DWORD ULONG;
  374.  
  375. typedef double DOUBLE;
  376.  
  377. #ifndef _DWORDLONG_
  378. typedef MIDL_uhyper DWORDLONG;
  379.  
  380. typedef DWORDLONG __RPC_FAR *PDWORDLONG;
  381.  
  382. #endif // !_DWORDLONG_
  383. #ifndef _ULONGLONG_
  384. typedef hyper LONGLONG;
  385.  
  386. typedef MIDL_uhyper ULONGLONG;
  387.  
  388. typedef LONGLONG __RPC_FAR *PLONGLONG;
  389.  
  390. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  391.  
  392. #endif // _ULONGLONG_
  393. #if 0
  394. typedef struct  _LARGE_INTEGER
  395.     {
  396.     LONGLONG QuadPart;
  397.     }    LARGE_INTEGER;
  398.  
  399. typedef LARGE_INTEGER __RPC_FAR *PLARGE_INTEGER;
  400.  
  401. typedef struct  _ULARGE_INTEGER
  402.     {
  403.     ULONGLONG QuadPart;
  404.     }    ULARGE_INTEGER;
  405.  
  406. #endif // 0
  407. #ifndef _WINBASE_
  408. #ifndef _FILETIME_
  409. #define _FILETIME_
  410. typedef struct  _FILETIME
  411.     {
  412.     DWORD dwLowDateTime;
  413.     DWORD dwHighDateTime;
  414.     }    FILETIME;
  415.  
  416. typedef struct _FILETIME __RPC_FAR *PFILETIME;
  417.  
  418. typedef struct _FILETIME __RPC_FAR *LPFILETIME;
  419.  
  420. #endif // !_FILETIME
  421. #ifndef _SYSTEMTIME_
  422. #define _SYSTEMTIME_
  423. typedef struct  _SYSTEMTIME
  424.     {
  425.     WORD wYear;
  426.     WORD wMonth;
  427.     WORD wDayOfWeek;
  428.     WORD wDay;
  429.     WORD wHour;
  430.     WORD wMinute;
  431.     WORD wSecond;
  432.     WORD wMilliseconds;
  433.     }    SYSTEMTIME;
  434.  
  435. typedef struct _SYSTEMTIME __RPC_FAR *PSYSTEMTIME;
  436.  
  437. typedef struct _SYSTEMTIME __RPC_FAR *LPSYSTEMTIME;
  438.  
  439. #endif // !_SYSTEMTIME
  440. #ifndef _SECURITY_ATTRIBUTES_
  441. #define _SECURITY_ATTRIBUTES_
  442. typedef struct  _SECURITY_ATTRIBUTES
  443.     {
  444.     DWORD nLength;
  445.     /* [size_is] */ LPVOID lpSecurityDescriptor;
  446.     BOOL bInheritHandle;
  447.     }    SECURITY_ATTRIBUTES;
  448.  
  449. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *PSECURITY_ATTRIBUTES;
  450.  
  451. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *LPSECURITY_ATTRIBUTES;
  452.  
  453. #endif // !_SECURITY_ATTRIBUTES_
  454. #ifndef SECURITY_DESCRIPTOR_REVISION
  455. typedef USHORT SECURITY_DESCRIPTOR_CONTROL;
  456.  
  457. typedef USHORT __RPC_FAR *PSECURITY_DESCRIPTOR_CONTROL;
  458.  
  459. typedef PVOID PSID;
  460.  
  461. typedef struct  _ACL
  462.     {
  463.     UCHAR AclRevision;
  464.     UCHAR Sbz1;
  465.     USHORT AclSize;
  466.     USHORT AceCount;
  467.     USHORT Sbz2;
  468.     }    ACL;
  469.  
  470. typedef ACL __RPC_FAR *PACL;
  471.  
  472. typedef struct  _SECURITY_DESCRIPTOR
  473.     {
  474.     UCHAR Revision;
  475.     UCHAR Sbz1;
  476.     SECURITY_DESCRIPTOR_CONTROL Control;
  477.     PSID Owner;
  478.     PSID Group;
  479.     PACL Sacl;
  480.     PACL Dacl;
  481.     }    SECURITY_DESCRIPTOR;
  482.  
  483. typedef struct _SECURITY_DESCRIPTOR __RPC_FAR *PISECURITY_DESCRIPTOR;
  484.  
  485. #endif // !SECURITY_DESCRIPTOR_REVISION
  486. #endif //_WINBASE_
  487. typedef struct  _COAUTHIDENTITY
  488.     {
  489.     /* [size_is] */ USHORT __RPC_FAR *User;
  490.     ULONG UserLength;
  491.     /* [size_is] */ USHORT __RPC_FAR *Domain;
  492.     ULONG DomainLength;
  493.     /* [size_is] */ USHORT __RPC_FAR *Password;
  494.     ULONG PasswordLength;
  495.     ULONG Flags;
  496.     }    COAUTHIDENTITY;
  497.  
  498. typedef struct  _COAUTHINFO
  499.     {
  500.     DWORD dwAuthnSvc;
  501.     DWORD dwAuthzSvc;
  502.     LPWSTR pwszServerPrincName;
  503.     DWORD dwAuthnLevel;
  504.     DWORD dwImpersonationLevel;
  505.     COAUTHIDENTITY __RPC_FAR *pAuthIdentityData;
  506.     DWORD dwCapabilities;
  507.     }    COAUTHINFO;
  508.  
  509. typedef struct  _COSERVERINFO
  510.     {
  511.     DWORD dwReserved1;
  512.     LPWSTR pwszName;
  513.     COAUTHINFO __RPC_FAR *pAuthInfo;
  514.     DWORD dwReserved2;
  515.     }    COSERVERINFO;
  516.  
  517. typedef LONG SCODE;
  518.  
  519. #ifndef _HRESULT_DEFINED
  520. #define _HRESULT_DEFINED
  521. typedef LONG HRESULT;
  522.  
  523. #endif // !_HRESULT_DEFINED
  524. typedef SCODE __RPC_FAR *PSCODE;
  525.  
  526. #ifndef GUID_DEFINED
  527. #define GUID_DEFINED
  528. typedef struct  _GUID
  529.     {
  530.     DWORD Data1;
  531.     WORD Data2;
  532.     WORD Data3;
  533.     BYTE Data4[ 8 ];
  534.     }    GUID;
  535.  
  536. #endif // !GUID_DEFINED
  537. #if !defined( __LPGUID_DEFINED__ )
  538. #define __LPGUID_DEFINED__
  539. typedef GUID __RPC_FAR *LPGUID;
  540.  
  541. #endif // !__LPGUID_DEFINED__
  542. #ifndef __OBJECTID_DEFINED
  543. #define __OBJECTID_DEFINED
  544. #define _OBJECTID_DEFINED
  545. typedef struct  _OBJECTID
  546.     {
  547.     GUID Lineage;
  548.     unsigned long Uniquifier;
  549.     }    OBJECTID;
  550.  
  551. #endif // !_OBJECTID_DEFINED
  552. #if !defined( __IID_DEFINED__ )
  553. #define __IID_DEFINED__
  554. typedef GUID IID;
  555.  
  556. typedef IID __RPC_FAR *LPIID;
  557.  
  558. #define IID_NULL            GUID_NULL
  559. #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
  560. typedef GUID CLSID;
  561.  
  562. typedef CLSID __RPC_FAR *LPCLSID;
  563.  
  564. #define CLSID_NULL          GUID_NULL
  565. #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
  566. typedef GUID FMTID;
  567.  
  568. typedef FMTID __RPC_FAR *LPFMTID;
  569.  
  570. #define FMTID_NULL          GUID_NULL
  571. #define IsEqualFMTID(rfmtid1, rfmtid2) IsEqualGUID(rfmtid1, rfmtid2)
  572. #if 0
  573. typedef GUID __RPC_FAR *REFGUID;
  574.  
  575. typedef IID __RPC_FAR *REFIID;
  576.  
  577. typedef CLSID __RPC_FAR *REFCLSID;
  578.  
  579. typedef FMTID __RPC_FAR *REFFMTID;
  580.  
  581. #endif // 0
  582. #if defined(__cplusplus)
  583. #ifndef _REFGUID_DEFINED
  584. #define _REFGUID_DEFINED
  585. #define REFGUID             const GUID &
  586. #endif // !_REFGUID_DEFINED
  587. #ifndef _REFIID_DEFINED
  588. #define _REFIID_DEFINED
  589. #define REFIID              const IID &
  590. #endif // !_REFIID_DEFINED
  591. #ifndef _REFCLSID_DEFINED
  592. #define _REFCLSID_DEFINED
  593. #define REFCLSID            const CLSID &
  594. #endif // !_REFCLSID_DEFINED
  595. #ifndef _REFFMTID_DEFINED
  596. #define _REFFMTID_DEFINED
  597. #define REFFMTID            const FMTID &
  598. #endif // !_REFFMTID_DEFINED
  599. #else // !__cplusplus
  600. #ifndef _REFGUID_DEFINED
  601. #define _REFGUID_DEFINED
  602. #define REFGUID             const GUID * const
  603. #endif // !_REFGUID_DEFINED
  604. #ifndef _REFIID_DEFINED
  605. #define _REFIID_DEFINED
  606. #define REFIID              const IID * const
  607. #endif // !_REFIID_DEFINED
  608. #ifndef _REFCLSID_DEFINED
  609. #define _REFCLSID_DEFINED
  610. #define REFCLSID            const CLSID * const
  611. #endif // !_REFCLSID_DEFINED
  612. #ifndef _REFFMTID_DEFINED
  613. #define _REFFMTID_DEFINED
  614. #define REFFMTID            const FMTID * const
  615. #endif // !_REFFMTID_DEFINED
  616. #endif // !__cplusplus
  617. #endif // !__IID_DEFINED__
  618. typedef 
  619. enum tagMEMCTX
  620.     {    MEMCTX_TASK    = 1,
  621.     MEMCTX_SHARED    = 2,
  622.     MEMCTX_MACSYSTEM    = 3,
  623.     MEMCTX_UNKNOWN    = -1,
  624.     MEMCTX_SAME    = -2
  625.     }    MEMCTX;
  626.  
  627. #ifndef _ROTFLAGS_DEFINED
  628. #define _ROTFLAGS_DEFINED
  629. #define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1
  630. #define ROTFLAGS_ALLOWANYCLIENT 0x2
  631. #endif // !_ROTFLAGS_DEFINED
  632. #ifndef _ROT_COMPARE_MAX_DEFINED
  633. #define _ROT_COMPARE_MAX_DEFINED
  634. #define ROT_COMPARE_MAX 2048
  635. #endif // !_ROT_COMPARE_MAX_DEFINED
  636. typedef 
  637. enum tagCLSCTX
  638.     {    CLSCTX_INPROC_SERVER    = 0x1,
  639.     CLSCTX_INPROC_HANDLER    = 0x2,
  640.     CLSCTX_LOCAL_SERVER    = 0x4,
  641.     CLSCTX_INPROC_SERVER16    = 0x8,
  642.     CLSCTX_REMOTE_SERVER    = 0x10,
  643.     CLSCTX_INPROC_HANDLER16    = 0x20,
  644.     CLSCTX_INPROC_SERVERX86    = 0x40,
  645.     CLSCTX_INPROC_HANDLERX86    = 0x80
  646.     }    CLSCTX;
  647.  
  648. typedef 
  649. enum tagMSHLFLAGS
  650.     {    MSHLFLAGS_NORMAL    = 0,
  651.     MSHLFLAGS_TABLESTRONG    = 1,
  652.     MSHLFLAGS_TABLEWEAK    = 2,
  653.     MSHLFLAGS_NOPING    = 4
  654.     }    MSHLFLAGS;
  655.  
  656. typedef 
  657. enum tagMSHCTX
  658.     {    MSHCTX_LOCAL    = 0,
  659.     MSHCTX_NOSHAREDMEM    = 1,
  660.     MSHCTX_DIFFERENTMACHINE    = 2,
  661.     MSHCTX_INPROC    = 3
  662.     }    MSHCTX;
  663.  
  664. typedef 
  665. enum tagDVASPECT
  666.     {    DVASPECT_CONTENT    = 1,
  667.     DVASPECT_THUMBNAIL    = 2,
  668.     DVASPECT_ICON    = 4,
  669.     DVASPECT_DOCPRINT    = 8
  670.     }    DVASPECT;
  671.  
  672. typedef 
  673. enum tagSTGC
  674.     {    STGC_DEFAULT    = 0,
  675.     STGC_OVERWRITE    = 1,
  676.     STGC_ONLYIFCURRENT    = 2,
  677.     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE    = 4
  678.     }    STGC;
  679.  
  680. typedef 
  681. enum tagSTGMOVE
  682.     {    STGMOVE_MOVE    = 0,
  683.     STGMOVE_COPY    = 1,
  684.     STGMOVE_SHALLOWCOPY    = 2
  685.     }    STGMOVE;
  686.  
  687. typedef 
  688. enum tagSTATFLAG
  689.     {    STATFLAG_DEFAULT    = 0,
  690.     STATFLAG_NONAME    = 1,
  691.     STATFLAG_NOOPEN    = 2
  692.     }    STATFLAG;
  693.  
  694. typedef /* [context_handle] */ void __RPC_FAR *HCONTEXT;
  695.  
  696. #ifndef _LCID_DEFINED
  697. #define _LCID_DEFINED
  698. typedef DWORD LCID;
  699.  
  700. #endif // !_LCID_DEFINED
  701. typedef struct  _BYTE_BLOB
  702.     {
  703.     unsigned long clSize;
  704.     /* [size_is] */ byte abData[ 1 ];
  705.     }    BYTE_BLOB;
  706.  
  707. typedef /* [unique] */ BYTE_BLOB __RPC_FAR *UP_BYTE_BLOB;
  708.  
  709. typedef struct  _WORD_BLOB
  710.     {
  711.     unsigned long clSize;
  712.     /* [size_is] */ unsigned short asData[ 1 ];
  713.     }    WORD_BLOB;
  714.  
  715. typedef /* [unique] */ WORD_BLOB __RPC_FAR *UP_WORD_BLOB;
  716.  
  717. typedef struct  _DWORD_BLOB
  718.     {
  719.     unsigned long clSize;
  720.     /* [size_is] */ unsigned long alData[ 1 ];
  721.     }    DWORD_BLOB;
  722.  
  723. typedef /* [unique] */ DWORD_BLOB __RPC_FAR *UP_DWORD_BLOB;
  724.  
  725. typedef struct  _FLAGGED_BYTE_BLOB
  726.     {
  727.     unsigned long fFlags;
  728.     unsigned long clSize;
  729.     /* [size_is] */ byte abData[ 1 ];
  730.     }    FLAGGED_BYTE_BLOB;
  731.  
  732. typedef /* [unique] */ FLAGGED_BYTE_BLOB __RPC_FAR *UP_FLAGGED_BYTE_BLOB;
  733.  
  734. typedef struct  _FLAGGED_WORD_BLOB
  735.     {
  736.     unsigned long fFlags;
  737.     unsigned long clSize;
  738.     /* [size_is] */ unsigned short asData[ 1 ];
  739.     }    FLAGGED_WORD_BLOB;
  740.  
  741. typedef /* [unique] */ FLAGGED_WORD_BLOB __RPC_FAR *UP_FLAGGED_WORD_BLOB;
  742.  
  743. typedef struct  _BYTE_SIZEDARR
  744.     {
  745.     unsigned long clSize;
  746.     /* [size_is] */ byte __RPC_FAR *pData;
  747.     }    BYTE_SIZEDARR;
  748.  
  749. typedef struct  _SHORT_SIZEDARR
  750.     {
  751.     unsigned long clSize;
  752.     /* [size_is] */ unsigned short __RPC_FAR *pData;
  753.     }    WORD_SIZEDARR;
  754.  
  755. typedef struct  _LONG_SIZEDARR
  756.     {
  757.     unsigned long clSize;
  758.     /* [size_is] */ unsigned long __RPC_FAR *pData;
  759.     }    DWORD_SIZEDARR;
  760.  
  761. typedef struct  _HYPER_SIZEDARR
  762.     {
  763.     unsigned long clSize;
  764.     /* [size_is] */ hyper __RPC_FAR *pData;
  765.     }    HYPER_SIZEDARR;
  766.  
  767. #define    WDT_INPROC_CALL    ( 0x48746457 )
  768.  
  769. #define    WDT_REMOTE_CALL    ( 0x52746457 )
  770.  
  771. typedef struct  _userCLIPFORMAT
  772.     {
  773.     long fContext;
  774.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0001
  775.         {
  776.         /* [case()] */ DWORD dwValue;
  777.         /* [case()][string] */ wchar_t __RPC_FAR *pwszName;
  778.         }    u;
  779.     }    userCLIPFORMAT;
  780.  
  781. typedef /* [unique] */ userCLIPFORMAT __RPC_FAR *wireCLIPFORMAT;
  782.  
  783. typedef /* [wire_marshal] */ WORD CLIPFORMAT;
  784.  
  785. typedef struct  _GDI_NONREMOTE
  786.     {
  787.     long fContext;
  788.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0002
  789.         {
  790.         /* [case()] */ long hInproc;
  791.         /* [case()] */ DWORD_BLOB __RPC_FAR *hRemote;
  792.         }    u;
  793.     }    GDI_NONREMOTE;
  794.  
  795. typedef struct  _userHGLOBAL
  796.     {
  797.     long fContext;
  798.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0003
  799.         {
  800.         /* [case()] */ long hInproc;
  801.         /* [case()] */ FLAGGED_BYTE_BLOB __RPC_FAR *hRemote;
  802.         /* [default] */ long hGlobal;
  803.         }    u;
  804.     }    userHGLOBAL;
  805.  
  806. typedef /* [unique] */ userHGLOBAL __RPC_FAR *wireHGLOBAL;
  807.  
  808. typedef struct  _userHMETAFILE
  809.     {
  810.     long fContext;
  811.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0004
  812.         {
  813.         /* [case()] */ long hInproc;
  814.         /* [case()] */ BYTE_BLOB __RPC_FAR *hRemote;
  815.         /* [default] */ long hGlobal;
  816.         }    u;
  817.     }    userHMETAFILE;
  818.  
  819. typedef struct  _remoteMETAFILEPICT
  820.     {
  821.     long mm;
  822.     long xExt;
  823.     long yExt;
  824.     userHMETAFILE __RPC_FAR *hMF;
  825.     }    remoteMETAFILEPICT;
  826.  
  827. typedef struct  _userHMETAFILEPICT
  828.     {
  829.     long fContext;
  830.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0005
  831.         {
  832.         /* [case()] */ long hInproc;
  833.         /* [case()] */ remoteMETAFILEPICT __RPC_FAR *hRemote;
  834.         /* [default] */ long hGlobal;
  835.         }    u;
  836.     }    userHMETAFILEPICT;
  837.  
  838. typedef struct  _userHENHMETAFILE
  839.     {
  840.     long fContext;
  841.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0006
  842.         {
  843.         /* [case()] */ long hInproc;
  844.         /* [case()] */ BYTE_BLOB __RPC_FAR *hRemote;
  845.         /* [default] */ long hGlobal;
  846.         }    u;
  847.     }    userHENHMETAFILE;
  848.  
  849. typedef struct  _userBITMAP
  850.     {
  851.     LONG bmType;
  852.     LONG bmWidth;
  853.     LONG bmHeight;
  854.     LONG bmWidthBytes;
  855.     WORD bmPlanes;
  856.     WORD bmBitsPixel;
  857.     ULONG cbSize;
  858.     /* [size_is] */ byte pBuffer[ 1 ];
  859.     }    userBITMAP;
  860.  
  861. typedef struct  _userHBITMAP
  862.     {
  863.     long fContext;
  864.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0007
  865.         {
  866.         /* [case()] */ long hInproc;
  867.         /* [case()] */ userBITMAP __RPC_FAR *hRemote;
  868.         /* [default] */ long hGlobal;
  869.         }    u;
  870.     }    userHBITMAP;
  871.  
  872. typedef struct  tagrpcLOGPALETTE
  873.     {
  874.     WORD palVersion;
  875.     WORD palNumEntries;
  876.     /* [size_is] */ PALETTEENTRY palPalEntry[ 1 ];
  877.     }    rpcLOGPALETTE;
  878.  
  879. typedef struct  _userHPALETTE
  880.     {
  881.     long fContext;
  882.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0008
  883.         {
  884.         /* [case()] */ long hInproc;
  885.         /* [case()] */ rpcLOGPALETTE __RPC_FAR *hRemote;
  886.         /* [default] */ long hGlobal;
  887.         }    u;
  888.     }    userHPALETTE;
  889.  
  890. typedef struct  _RemotableHandle
  891.     {
  892.     long fContext;
  893.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IWinTypes_0009
  894.         {
  895.         /* [case()] */ long hInproc;
  896.         /* [case()] */ long hRemote;
  897.         }    u;
  898.     }    RemotableHandle;
  899.  
  900. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHWND;
  901.  
  902. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHMENU;
  903.  
  904. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHACCEL;
  905.  
  906. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHBRUSH;
  907.  
  908. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHFONT;
  909.  
  910. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHDC;
  911.  
  912. typedef /* [unique] */ RemotableHandle __RPC_FAR *wireHICON;
  913.  
  914. #if 0
  915. typedef /* [wire_marshal] */ void __RPC_FAR *HWND;
  916.  
  917. typedef /* [wire_marshal] */ void __RPC_FAR *HMENU;
  918.  
  919. typedef /* [wire_marshal] */ void __RPC_FAR *HACCEL;
  920.  
  921. typedef /* [wire_marshal] */ void __RPC_FAR *HBRUSH;
  922.  
  923. typedef /* [wire_marshal] */ void __RPC_FAR *HFONT;
  924.  
  925. typedef /* [wire_marshal] */ void __RPC_FAR *HDC;
  926.  
  927. typedef /* [wire_marshal] */ void __RPC_FAR *HICON;
  928.  
  929. #ifndef _HCURSOR_DEFINED
  930. #define _HCURSOR_DEFINED
  931. typedef HICON HCURSOR;
  932.  
  933. #endif // !_HCURSOR_DEFINED
  934. /* tagTEXTMETRICW was copied from wingdi.h for MIDL */
  935. typedef struct  tagTEXTMETRICW
  936.     {
  937.     LONG tmHeight;
  938.     LONG tmAscent;
  939.     LONG tmDescent;
  940.     LONG tmInternalLeading;
  941.     LONG tmExternalLeading;
  942.     LONG tmAveCharWidth;
  943.     LONG tmMaxCharWidth;
  944.     LONG tmWeight;
  945.     LONG tmOverhang;
  946.     LONG tmDigitizedAspectX;
  947.     LONG tmDigitizedAspectY;
  948.     WCHAR tmFirstChar;
  949.     WCHAR tmLastChar;
  950.     WCHAR tmDefaultChar;
  951.     WCHAR tmBreakChar;
  952.     BYTE tmItalic;
  953.     BYTE tmUnderlined;
  954.     BYTE tmStruckOut;
  955.     BYTE tmPitchAndFamily;
  956.     BYTE tmCharSet;
  957.     }    TEXTMETRICW;
  958.  
  959. #endif //0
  960. #ifndef _WIN32           // The following code is for Win16 only
  961. #ifndef WINAPI          // If not included with 3.1 headers...
  962. typedef struct  tagMSG
  963.     {
  964.     HWND hwnd;
  965.     UINT message;
  966.     WPARAM wParam;
  967.     LPARAM lParam;
  968.     DWORD time;
  969.     POINT pt;
  970.     }    MSG;
  971.  
  972. typedef struct tagMSG __RPC_FAR *PMSG;
  973.  
  974. typedef struct tagMSG __RPC_FAR *NPMSG;
  975.  
  976. typedef struct tagMSG __RPC_FAR *LPMSG;
  977.  
  978. #endif // _WIN32
  979. #endif // WINAPI
  980. typedef /* [unique] */ userHBITMAP __RPC_FAR *wireHBITMAP;
  981.  
  982. typedef /* [unique] */ userHPALETTE __RPC_FAR *wireHPALETTE;
  983.  
  984. typedef /* [unique] */ userHENHMETAFILE __RPC_FAR *wireHENHMETAFILE;
  985.  
  986. typedef /* [unique] */ userHMETAFILE __RPC_FAR *wireHMETAFILE;
  987.  
  988. typedef /* [unique] */ userHMETAFILEPICT __RPC_FAR *wireHMETAFILEPICT;
  989.  
  990. #if 0
  991. typedef /* [wire_marshal] */ void __RPC_FAR *HGLOBAL;
  992.  
  993. typedef HGLOBAL HLOCAL;
  994.  
  995. typedef /* [wire_marshal] */ void __RPC_FAR *HBITMAP;
  996.  
  997. typedef /* [wire_marshal] */ void __RPC_FAR *HPALETTE;
  998.  
  999. typedef /* [wire_marshal] */ void __RPC_FAR *HENHMETAFILE;
  1000.  
  1001. typedef /* [wire_marshal] */ void __RPC_FAR *HMETAFILE;
  1002.  
  1003. #endif //0
  1004. typedef /* [wire_marshal] */ void __RPC_FAR *HMETAFILEPICT;
  1005.  
  1006.  
  1007.  
  1008. extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
  1009. extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
  1010. #endif /* __IWinTypes_INTERFACE_DEFINED__ */
  1011.  
  1012. /****************************************
  1013.  * Generated header for interface: __MIDL__intf_0001
  1014.  * at Fri Jul 12 18:09:25 1996
  1015.  * using MIDL 3.00.44
  1016.  ****************************************/
  1017. /* [local] */ 
  1018.  
  1019.  
  1020. typedef double DATE;
  1021.  
  1022. #ifndef _tagCY_DEFINED
  1023. #define _tagCY_DEFINED
  1024. #define _CY_DEFINED
  1025. #if 0
  1026. /* the following isn't the real definition of CY, but it is */
  1027. /* what RPC knows how to remote */
  1028. typedef struct  tagCY
  1029.     {
  1030.     LONGLONG int64;
  1031.     }    CY;
  1032.  
  1033. #else /* 0 */
  1034. /* real definition that makes the C++ compiler happy */
  1035. typedef union tagCY {
  1036.     struct {
  1037. #ifdef _MAC
  1038.         long      Hi;
  1039.         long Lo;
  1040. #else
  1041.         unsigned long Lo;
  1042.         long      Hi;
  1043. #endif
  1044. #ifdef _ANONYMOUS_STRUCT
  1045.     };
  1046. #else
  1047.     }s;
  1048. #endif
  1049.     LONGLONG int64;
  1050. } CY;
  1051. #endif /* 0 */
  1052. #endif /* _tagCY_DEFINED */
  1053. #if 0 /* _tagDEC_DEFINED */
  1054. /* The following isn't the real definition of Decimal type, */
  1055. /* but it is what RPC knows how to remote */
  1056. typedef struct  tagDEC
  1057.     {
  1058.     USHORT wReserved;
  1059.     BYTE scale;
  1060.     BYTE sign;
  1061.     ULONG Hi32;
  1062.     ULONGLONG Lo64;
  1063.     }    DECIMAL;
  1064.  
  1065. #else /* _tagDEC_DEFINED */
  1066. /* real definition that makes the C++ compiler happy */
  1067. typedef struct tagDEC {
  1068.     USHORT wReserved;
  1069.     union {
  1070.         struct {
  1071.             BYTE scale;
  1072.             BYTE sign;
  1073. #ifdef _ANONYMOUS_STRUCT
  1074.         };
  1075. #else
  1076.         }s1;
  1077. #endif
  1078.         USHORT signscale;
  1079.     };
  1080.     ULONG Hi32;
  1081.     union {
  1082.         struct {
  1083. #ifdef _MAC
  1084.             ULONG Mid32;
  1085.             ULONG Lo32;
  1086. #else
  1087.             ULONG Lo32;
  1088.             ULONG Mid32;
  1089. #endif
  1090. #ifdef _ANONYMOUS_STRUCT
  1091.         };
  1092. #else
  1093.         }s2;
  1094. #endif
  1095.         ULONGLONG Lo64;
  1096.     };
  1097. } DECIMAL;
  1098. #define DECIMAL_NEG ((BYTE)0x80)
  1099. #define DECIMAL_SETZERO(dec) \
  1100.         {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}
  1101. #endif /* _tagDEC_DEFINED */
  1102. typedef /* [unique] */ FLAGGED_WORD_BLOB __RPC_FAR *wireBSTR;
  1103.  
  1104. typedef /* [wire_marshal] */ OLECHAR __RPC_FAR *BSTR;
  1105.  
  1106. typedef BSTR __RPC_FAR *LPBSTR;
  1107.  
  1108. /* 0 == FALSE, -1 == TRUE */
  1109. typedef short VARIANT_BOOL;
  1110.  
  1111. #if !__STDC__ && (_MSC_VER <= 1000)
  1112. /* For backward compatibility */
  1113. typedef VARIANT_BOOL _VARIANT_BOOL;
  1114.  
  1115. #else
  1116. /* ANSI C/C++ reserve bool as keyword */
  1117. #define _VARIANT_BOOL    /##/
  1118. #endif
  1119. typedef boolean BOOLEAN;
  1120.  
  1121. #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
  1122. #define VARIANT_FALSE ((VARIANT_BOOL)0)
  1123. #ifndef _tagBLOB_DEFINED
  1124. #define _tagBLOB_DEFINED
  1125. #define _BLOB_DEFINED
  1126. #define _LPBLOB_DEFINED
  1127. typedef struct  tagBLOB
  1128.     {
  1129.     ULONG cbSize;
  1130.     /* [size_is] */ BYTE __RPC_FAR *pBlobData;
  1131.     }    BLOB;
  1132.  
  1133. typedef struct tagBLOB __RPC_FAR *LPBLOB;
  1134.  
  1135. #endif
  1136. typedef struct  tagCLIPDATA
  1137.     {
  1138.     ULONG cbSize;
  1139.     long ulClipFmt;
  1140.     /* [size_is] */ BYTE __RPC_FAR *pClipData;
  1141.     }    CLIPDATA;
  1142.  
  1143. // Macro to calculate the size of the above pClipData
  1144. #define CBPCLIPDATA(clipdata)    ( (clipdata).cbSize - sizeof((clipdata).ulClipFmt) )
  1145. typedef unsigned short VARTYPE;
  1146.  
  1147. /*
  1148.  * VARENUM usage key,
  1149.  *
  1150.  * * [V] - may appear in a VARIANT
  1151.  * * [T] - may appear in a TYPEDESC
  1152.  * * [P] - may appear in an OLE property set
  1153.  * * [S] - may appear in a Safe Array
  1154.  *
  1155.  *
  1156.  *  VT_EMPTY            [V]   [P]     nothing
  1157.  *  VT_NULL             [V]   [P]     SQL style Null
  1158.  *  VT_I2               [V][T][P][S]  2 byte signed int
  1159.  *  VT_I4               [V][T][P][S]  4 byte signed int
  1160.  *  VT_R4               [V][T][P][S]  4 byte real
  1161.  *  VT_R8               [V][T][P][S]  8 byte real
  1162.  *  VT_CY               [V][T][P][S]  currency
  1163.  *  VT_DATE             [V][T][P][S]  date
  1164.  *  VT_BSTR             [V][T][P][S]  OLE Automation string
  1165.  *  VT_DISPATCH         [V][T][P][S]  IDispatch *
  1166.  *  VT_ERROR            [V][T]   [S]  SCODE
  1167.  *  VT_BOOL             [V][T][P][S]  True=-1, False=0
  1168.  *  VT_VARIANT          [V][T][P][S]  VARIANT *
  1169.  *  VT_UNKNOWN          [V][T]   [S]  IUnknown *
  1170.  *  VT_DECIMAL          [V][T]   [S]  16 byte fixed point
  1171.  *  VT_I1                  [T]        signed char
  1172.  *  VT_UI1              [V][T][P][S]  unsigned char
  1173.  *  VT_UI2                 [T][P]     unsigned short
  1174.  *  VT_UI4                 [T][P]     unsigned short
  1175.  *  VT_I8                  [T][P]     signed 64-bit int
  1176.  *  VT_UI8                 [T][P]     unsigned 64-bit int
  1177.  *  VT_INT                 [T]        signed machine int
  1178.  *  VT_UINT                [T]        unsigned machine int
  1179.  *  VT_VOID                [T]        C style void
  1180.  *  VT_HRESULT             [T]        Standard return type
  1181.  *  VT_PTR                 [T]        pointer type
  1182.  *  VT_SAFEARRAY           [T]        (use VT_ARRAY in VARIANT)
  1183.  *  VT_CARRAY              [T]        C style array
  1184.  *  VT_USERDEFINED         [T]        user defined type
  1185.  *  VT_LPSTR               [T][P]     null terminated string
  1186.  *  VT_LPWSTR              [T][P]     wide null terminated string
  1187.  *  VT_FILETIME               [P]     FILETIME
  1188.  *  VT_BLOB                   [P]     Length prefixed bytes
  1189.  *  VT_STREAM                 [P]     Name of the stream follows
  1190.  *  VT_STORAGE                [P]     Name of the storage follows
  1191.  *  VT_STREAMED_OBJECT        [P]     Stream contains an object
  1192.  *  VT_STORED_OBJECT          [P]     Storage contains an object
  1193.  *  VT_BLOB_OBJECT            [P]     Blob contains an object
  1194.  *  VT_CF                     [P]     Clipboard format
  1195.  *  VT_CLSID                  [P]     A Class ID
  1196.  *  VT_VECTOR                 [P]     simple counted array
  1197.  *  VT_ARRAY            [V]           SAFEARRAY*
  1198.  *  VT_BYREF            [V]           void* for local use
  1199.  */
  1200.  
  1201. enum VARENUM
  1202.     {    VT_EMPTY    = 0,
  1203.     VT_NULL    = 1,
  1204.     VT_I2    = 2,
  1205.     VT_I4    = 3,
  1206.     VT_R4    = 4,
  1207.     VT_R8    = 5,
  1208.     VT_CY    = 6,
  1209.     VT_DATE    = 7,
  1210.     VT_BSTR    = 8,
  1211.     VT_DISPATCH    = 9,
  1212.     VT_ERROR    = 10,
  1213.     VT_BOOL    = 11,
  1214.     VT_VARIANT    = 12,
  1215.     VT_UNKNOWN    = 13,
  1216.     VT_DECIMAL    = 14,
  1217.     VT_I1    = 16,
  1218.     VT_UI1    = 17,
  1219.     VT_UI2    = 18,
  1220.     VT_UI4    = 19,
  1221.     VT_I8    = 20,
  1222.     VT_UI8    = 21,
  1223.     VT_INT    = 22,
  1224.     VT_UINT    = 23,
  1225.     VT_VOID    = 24,
  1226.     VT_HRESULT    = 25,
  1227.     VT_PTR    = 26,
  1228.     VT_SAFEARRAY    = 27,
  1229.     VT_CARRAY    = 28,
  1230.     VT_USERDEFINED    = 29,
  1231.     VT_LPSTR    = 30,
  1232.     VT_LPWSTR    = 31,
  1233.     VT_FILETIME    = 64,
  1234.     VT_BLOB    = 65,
  1235.     VT_STREAM    = 66,
  1236.     VT_STORAGE    = 67,
  1237.     VT_STREAMED_OBJECT    = 68,
  1238.     VT_STORED_OBJECT    = 69,
  1239.     VT_BLOB_OBJECT    = 70,
  1240.     VT_CF    = 71,
  1241.     VT_CLSID    = 72,
  1242.     VT_VECTOR    = 0x1000,
  1243.     VT_ARRAY    = 0x2000,
  1244.     VT_BYREF    = 0x4000,
  1245.     VT_RESERVED    = 0x8000,
  1246.     VT_ILLEGAL    = 0xffff,
  1247.     VT_ILLEGALMASKED    = 0xfff,
  1248.     VT_TYPEMASK    = 0xfff
  1249.     };
  1250. typedef ULONG PROPID;
  1251.  
  1252.  
  1253.  
  1254. extern RPC_IF_HANDLE __MIDL__intf_0001_v0_0_c_ifspec;
  1255. extern RPC_IF_HANDLE __MIDL__intf_0001_v0_0_s_ifspec;
  1256.  
  1257. /* Additional Prototypes for ALL interfaces */
  1258.  
  1259. /* end of Additional Prototypes */
  1260.  
  1261. #ifdef __cplusplus
  1262. }
  1263. #endif
  1264.  
  1265. #endif
  1266. #pragma option -b.
  1267.