home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / vjplusb / activex / inetsdk / include / wtypes.h < prev   
C/C++ Source or Header  |  1996-06-21  |  30KB  |  1,249 lines

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