home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / msinc.pak / WTYPES.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  19KB  |  838 lines

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2.  
  3.  
  4. /* File created by MIDL compiler version 2.00.0102 */
  5. /* at Fri Apr 28 07:02:29 1995
  6.  */
  7. //@@MIDL_FILE_HEADING(  )
  8. #include "rpc.h"
  9. #include "rpcndr.h"
  10.  
  11. #ifndef __wtypes_h__
  12. #define __wtypes_h__
  13.  
  14. #ifdef __cplusplus
  15. extern "C"{
  16. #endif 
  17.  
  18. /* Forward Declarations */ 
  19.  
  20. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  21. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  22.  
  23. #ifndef __IWinTypes_INTERFACE_DEFINED__
  24. #define __IWinTypes_INTERFACE_DEFINED__
  25.  
  26. /****************************************
  27.  * Generated header for interface: IWinTypes
  28.  * at Fri Apr 28 07:02:29 1995
  29.  * using MIDL 2.00.0102
  30.  ****************************************/
  31. /* [auto_handle][unique][version][uuid] */ 
  32.  
  33.  
  34. //+-------------------------------------------------------------------------
  35. //
  36. //  Microsoft Windows
  37. //  Copyright (C) Microsoft Corporation, 1992 - 1995.
  38. //
  39. //--------------------------------------------------------------------------
  40.             /* size is 8 */
  41. typedef struct  tagRemHGLOBAL
  42.     {
  43.     long fNullHGlobal;
  44.     unsigned long cbData;
  45.     /* [size_is] */ byte data[ 1 ];
  46.     }    RemHGLOBAL;
  47.  
  48.             /* size is 16 */
  49. typedef struct  tagRemHMETAFILEPICT
  50.     {
  51.     long mm;
  52.     long xExt;
  53.     long yExt;
  54.     unsigned long cbData;
  55.     /* [size_is] */ byte data[ 1 ];
  56.     }    RemHMETAFILEPICT;
  57.  
  58.             /* size is 4 */
  59. typedef /* [transmit] */ void __RPC_FAR *HMETAFILEPICT;
  60.  
  61.             /* size is 4 */
  62. typedef struct  tagRemHENHMETAFILE
  63.     {
  64.     unsigned long cbData;
  65.     /* [size_is] */ byte data[ 1 ];
  66.     }    RemHENHMETAFILE;
  67.  
  68.             /* size is 4 */
  69. typedef struct  tagRemHBITMAP
  70.     {
  71.     unsigned long cbData;
  72.     /* [size_is] */ byte data[ 1 ];
  73.     }    RemHBITMAP;
  74.  
  75.             /* size is 4 */
  76. typedef struct  tagRemHPALETTE
  77.     {
  78.     unsigned long cbData;
  79.     /* [size_is] */ byte data[ 1 ];
  80.     }    RemHPALETTE;
  81.  
  82.             /* size is 4 */
  83. typedef struct  tagRemBRUSH
  84.     {
  85.     unsigned long cbData;
  86.     /* [size_is] */ byte data[ 1 ];
  87.     }    RemHBRUSH;
  88.  
  89. #ifndef _WIN32           // The following code is for Win16 only
  90. #ifndef WINAPI          // If not included with 3.1 headers... 
  91. #define FAR             _far
  92. #define PASCAL          _pascal
  93. #define CDECL           _cdecl
  94. #define VOID            void
  95. #define WINAPI      FAR PASCAL
  96. #define CALLBACK    FAR PASCAL
  97. #ifndef FALSE
  98. #define FALSE 0
  99. #define TRUE 1
  100. #endif // !FALSE
  101. #ifndef _BYTE_DEFINED
  102. #define _BYTE_DEFINED
  103.             /* size is 1 */
  104. typedef unsigned char BYTE;
  105.  
  106. #endif // !_BYTE_DEFINED
  107. #ifndef _WORD_DEFINED
  108. #define _WORD_DEFINED
  109.             /* size is 2 */
  110. typedef unsigned short WORD;
  111.  
  112. #endif // !_WORD_DEFINED
  113.             /* size is 4 */
  114. typedef /* [transmit] */ unsigned int UINT;
  115.  
  116.             /* size is 4 */
  117. typedef /* [transmit] */ int INT;
  118.  
  119.             /* size is 4 */
  120. typedef long BOOL;
  121.  
  122. #ifndef _LONG_DEFINED
  123. #define _LONG_DEFINED
  124.             /* size is 4 */
  125. typedef long LONG;
  126.  
  127. #endif // !_LONG_DEFINED
  128. #ifndef _WPARAM_DEFINED
  129. #define _WPARAM_DEFINED
  130.             /* size is 4 */
  131. typedef UINT WPARAM;
  132.  
  133. #endif // _WPARAM_DEFINED
  134. #ifndef _DWORD_DEFINED
  135. #define _DWORD_DEFINED
  136.             /* size is 4 */
  137. typedef unsigned long DWORD;
  138.  
  139. #endif // !_DWORD_DEFINED
  140. #ifndef _LPARAM_DEFINED
  141. #define _LPARAM_DEFINED
  142.             /* size is 4 */
  143. typedef LONG LPARAM;
  144.  
  145. #endif // !_LPARAM_DEFINED
  146. #ifndef _LRESULT_DEFINED
  147. #define _LRESULT_DEFINED
  148.             /* size is 4 */
  149. typedef LONG LRESULT;
  150.  
  151. #endif // !_LRESULT_DEFINED
  152.             /* size is 4 */
  153. typedef /* [transmit] */ void __RPC_FAR *HANDLE;
  154.  
  155.             /* size is 4 */
  156. typedef /* [transmit] */ void __RPC_FAR *HMODULE;
  157.  
  158.             /* size is 4 */
  159. typedef /* [transmit] */ void __RPC_FAR *HINSTANCE;
  160.  
  161.             /* size is 4 */
  162. typedef /* [transmit] */ void __RPC_FAR *HICON;
  163.  
  164.             /* size is 4 */
  165. typedef /* [transmit] */ void __RPC_FAR *HFONT;
  166.  
  167.             /* size is 4 */
  168. typedef /* [transmit] */ void __RPC_FAR *HGLOBAL;
  169.  
  170.             /* size is 4 */
  171. typedef HGLOBAL HLOCAL;
  172.  
  173.             /* size is 4 */
  174. typedef /* [transmit] */ void __RPC_FAR *HBITMAP;
  175.  
  176.             /* size is 4 */
  177. typedef /* [transmit] */ void __RPC_FAR *HPALETTE;
  178.  
  179.             /* size is 4 */
  180. typedef /* [transmit] */ void __RPC_FAR *HBRUSH;
  181.  
  182.             /* size is 4 */
  183. typedef /* [transmit] */ void __RPC_FAR *HENHMETAFILE;
  184.  
  185.             /* size is 4 */
  186. typedef /* [transmit] */ void __RPC_FAR *HDC;
  187.  
  188.             /* size is 4 */
  189. typedef /* [transmit] */ void __RPC_FAR *HRGN;
  190.  
  191.             /* size is 4 */
  192. typedef /* [transmit] */ void __RPC_FAR *HWND;
  193.  
  194.             /* size is 4 */
  195. typedef /* [transmit] */ void __RPC_FAR *HMENU;
  196.  
  197.             /* size is 4 */
  198. typedef /* [transmit] */ void __RPC_FAR *HACCEL;
  199.  
  200.             /* size is 4 */
  201. typedef /* [transmit] */ void __RPC_FAR *HTASK;
  202.  
  203.             /* size is 4 */
  204. typedef /* [transmit] */ void __RPC_FAR *HKEY;
  205.  
  206.             /* size is 4 */
  207. typedef /* [transmit] */ void __RPC_FAR *HDESK;
  208.  
  209.             /* size is 4 */
  210. typedef /* [transmit] */ void __RPC_FAR *HMF;
  211.  
  212.             /* size is 4 */
  213. typedef /* [transmit] */ void __RPC_FAR *HEMF;
  214.  
  215.             /* size is 4 */
  216. typedef /* [transmit] */ void __RPC_FAR *HMETAFILE;
  217.  
  218.             /* size is 4 */
  219. typedef /* [transmit] */ void __RPC_FAR *HPEN;
  220.  
  221.             /* size is 4 */
  222. typedef /* [transmit] */ void __RPC_FAR *HRSRC;
  223.  
  224.             /* size is 4 */
  225. typedef /* [transmit] */ void __RPC_FAR *HSTR;
  226.  
  227.             /* size is 4 */
  228. typedef /* [transmit] */ void __RPC_FAR *HWINSTA;
  229.  
  230.             /* size is 4 */
  231. typedef /* [transmit] */ void __RPC_FAR *HKL;
  232.  
  233.             /* size is 4 */
  234. typedef /* [transmit] */ void __RPC_FAR *HGDIOBJ;
  235.  
  236.             /* size is 4 */
  237. typedef HANDLE HDWP;
  238.  
  239. #ifndef _HFILE_DEFINED
  240. #define _HFILE_DEFINED
  241.             /* size is 4 */
  242. typedef INT HFILE;
  243.  
  244. #endif // !_HFILE_DEFINED
  245. #ifndef _HCURSOR_DEFINED
  246. #define _HCURSOR_DEFINED
  247.             /* size is 4 */
  248. typedef HICON HCURSOR;
  249.  
  250. #endif // !_HCURSOR_DEFINED
  251. #ifndef _LPWORD_DEFINED
  252. #define _LPWORD_DEFINED
  253.             /* size is 4 */
  254. typedef WORD __RPC_FAR *LPWORD;
  255.  
  256. #endif // !_LPWORD_DEFINED
  257. #ifndef _LPDWORD_DEFINED
  258. #define _LPDWORD_DEFINED
  259.             /* size is 4 */
  260. typedef DWORD __RPC_FAR *LPDWORD;
  261.  
  262. #endif // !_LPDWORD_DEFINED
  263.             /* size is 4 */
  264. typedef /* [string] */ char __RPC_FAR *LPSTR;
  265.  
  266.             /* size is 4 */
  267. typedef /* [string] */ const char __RPC_FAR *LPCSTR;
  268.  
  269. #ifndef _WCHAR_DEFINED
  270. #define _WCHAR_DEFINED
  271.             /* size is 2 */
  272. typedef wchar_t WCHAR;
  273.  
  274.             /* size is 2 */
  275. typedef WCHAR TCHAR;
  276.  
  277. #endif // !_WCHAR_DEFINED
  278.             /* size is 4 */
  279. typedef /* [string] */ WCHAR __RPC_FAR *LPWSTR;
  280.  
  281.             /* size is 4 */
  282. typedef /* [string] */ TCHAR __RPC_FAR *LPTSTR;
  283.  
  284.             /* size is 4 */
  285. typedef /* [string] */ const WCHAR __RPC_FAR *LPCWSTR;
  286.  
  287.             /* size is 4 */
  288. typedef /* [string] */ const TCHAR __RPC_FAR *LPCTSTR;
  289.  
  290.             /* size is 4 */
  291. typedef struct  tagPALETTEENTRY
  292.     {
  293.     BYTE peRed;
  294.     BYTE peGreen;
  295.     BYTE peBlue;
  296.     BYTE peFlags;
  297.     }    PALETTEENTRY;
  298.  
  299.             /* size is 4 */
  300. typedef struct tagPALETTEENTRY __RPC_FAR *PPALETTEENTRY;
  301.  
  302.             /* size is 4 */
  303. typedef struct tagPALETTEENTRY __RPC_FAR *LPPALETTEENTRY;
  304.  
  305. #if 0
  306.             /* size is 4 */
  307. typedef struct  tagLOGPALETTE
  308.     {
  309.     WORD palVersion;
  310.     WORD palNumEntries;
  311.     /* [size_is] */ PALETTEENTRY palPalEntry[ 1 ];
  312.     }    LOGPALETTE;
  313.  
  314.             /* size is 4 */
  315. typedef struct tagLOGPALETTE __RPC_FAR *PLOGPALETTE;
  316.  
  317.             /* size is 4 */
  318. typedef struct tagLOGPALETTE __RPC_FAR *LPLOGPALETTE;
  319.  
  320. #else
  321. typedef struct tagLOGPALETTE {
  322.     WORD        palVersion;
  323.     WORD        palNumEntries;
  324.     PALETTEENTRY        palPalEntry[1];
  325. } LOGPALETTE, *PLOGPALETTE, *LPLOGPALETTE;
  326. #endif
  327. #ifndef _COLORREF_DEFINED
  328. #define _COLORREF_DEFINED
  329.             /* size is 4 */
  330. typedef DWORD COLORREF;
  331.  
  332. #endif // !_COLORREF_DEFINED
  333. #ifndef _LPCOLORREF_DEFINED
  334. #define _LPCOLORREF_DEFINED
  335.             /* size is 4 */
  336. typedef DWORD __RPC_FAR *LPCOLORREF;
  337.  
  338. #endif // !_LPCOLORREF_DEFINED
  339.             /* size is 4 */
  340. typedef HANDLE __RPC_FAR *LPHANDLE;
  341.  
  342.             /* size is 16 */
  343. typedef struct  _RECTL
  344.     {
  345.     LONG left;
  346.     LONG top;
  347.     LONG right;
  348.     LONG bottom;
  349.     }    RECTL;
  350.  
  351.             /* size is 4 */
  352. typedef struct _RECTL __RPC_FAR *PRECTL;
  353.  
  354.             /* size is 4 */
  355. typedef struct _RECTL __RPC_FAR *LPRECTL;
  356.  
  357.             /* size is 8 */
  358. typedef struct  tagPOINT
  359.     {
  360.     LONG x;
  361.     LONG y;
  362.     }    POINT;
  363.  
  364.             /* size is 4 */
  365. typedef struct tagPOINT __RPC_FAR *PPOINT;
  366.  
  367.             /* size is 4 */
  368. typedef struct tagPOINT __RPC_FAR *LPPOINT;
  369.  
  370.             /* size is 8 */
  371. typedef struct  _POINTL
  372.     {
  373.     LONG x;
  374.     LONG y;
  375.     }    POINTL;
  376.  
  377.             /* size is 4 */
  378. typedef struct _POINTL __RPC_FAR *PPOINTL;
  379.  
  380. #ifndef WIN16
  381.             /* size is 8 */
  382. typedef struct  tagSIZE
  383.     {
  384.     LONG cx;
  385.     LONG cy;
  386.     }    SIZE;
  387.  
  388.             /* size is 4 */
  389. typedef struct tagSIZE __RPC_FAR *PSIZE;
  390.  
  391.             /* size is 4 */
  392. typedef struct tagSIZE __RPC_FAR *LPSIZE;
  393.  
  394. #else // WIN16
  395. typedef struct tagSIZE
  396. {
  397.     INT cx;
  398.     INT cy;
  399. } SIZE, *PSIZE, *LPSIZE;
  400. #endif // WIN16
  401.             /* size is 28 */
  402. typedef struct  tagMSG
  403.     {
  404.     HWND hwnd;
  405.     UINT message;
  406.     WPARAM wParam;
  407.     LPARAM lParam;
  408.     DWORD time;
  409.     POINT pt;
  410.     }    MSG;
  411.  
  412.             /* size is 4 */
  413. typedef struct tagMSG __RPC_FAR *PMSG;
  414.  
  415.             /* size is 4 */
  416. typedef struct tagMSG __RPC_FAR *NPMSG;
  417.  
  418.             /* size is 4 */
  419. typedef struct tagMSG __RPC_FAR *LPMSG;
  420.  
  421.             /* size is 8 */
  422. typedef struct  tagSIZEL
  423.     {
  424.     LONG cx;
  425.     LONG cy;
  426.     }    SIZEL;
  427.  
  428.             /* size is 4 */
  429. typedef struct tagSIZEL __RPC_FAR *PSIZEL;
  430.  
  431.             /* size is 4 */
  432. typedef struct tagSIZEL __RPC_FAR *LPSIZEL;
  433.  
  434. #endif  //WINAPI
  435. #endif  //!WIN32
  436. #if defined(_WIN32) && !defined(OLE2ANSI)
  437.             /* size is 2 */
  438. typedef WCHAR OLECHAR;
  439.  
  440.             /* size is 4 */
  441. typedef /* [string] */ OLECHAR __RPC_FAR *LPOLESTR;
  442.  
  443.             /* size is 4 */
  444. typedef /* [string] */ const OLECHAR __RPC_FAR *LPCOLESTR;
  445.  
  446. #define OLESTR(str) L##str
  447. #else
  448. typedef char      OLECHAR;
  449. typedef LPSTR     LPOLESTR;
  450. typedef LPCSTR    LPCOLESTR;
  451. #define OLESTR(str) str
  452. #endif
  453. #ifndef _WINDEF_
  454.             /* size is 4 */
  455. typedef const RECTL __RPC_FAR *LPCRECTL;
  456.  
  457.             /* size is 4 */
  458. typedef void __RPC_FAR *PVOID;
  459.  
  460.             /* size is 4 */
  461. typedef void __RPC_FAR *LPVOID;
  462.  
  463.             /* size is 16 */
  464. typedef struct  tagRECT
  465.     {
  466.     LONG left;
  467.     LONG top;
  468.     LONG right;
  469.     LONG bottom;
  470.     }    RECT;
  471.  
  472.             /* size is 4 */
  473. typedef struct tagRECT __RPC_FAR *PRECT;
  474.  
  475.             /* size is 4 */
  476. typedef struct tagRECT __RPC_FAR *LPRECT;
  477.  
  478.             /* size is 4 */
  479. typedef const RECT __RPC_FAR *LPCRECT;
  480.  
  481. #endif  //_WINDEF_
  482.             /* size is 1 */
  483. typedef unsigned char UCHAR;
  484.  
  485.             /* size is 2 */
  486. typedef short SHORT;
  487.  
  488.             /* size is 2 */
  489. typedef unsigned short USHORT;
  490.  
  491.             /* size is 4 */
  492. typedef DWORD ULONG;
  493.  
  494. #if 0
  495.             /* size is 8 */
  496. typedef hyper LONGLONG;
  497.  
  498.             /* size is 8 */
  499. typedef MIDL_uhyper ULONGLONG;
  500.  
  501.             /* size is 4 */
  502. typedef LONGLONG __RPC_FAR *PLONGLONG;
  503.  
  504.             /* size is 4 */
  505. typedef ULONGLONG __RPC_FAR *PULONGLONG;
  506.  
  507.             /* size is 8 */
  508. typedef struct  _LARGE_INTEGER
  509.     {
  510.     LONGLONG QuadPart;
  511.     }    LARGE_INTEGER;
  512.  
  513.             /* size is 4 */
  514. typedef LARGE_INTEGER __RPC_FAR *PLARGE_INTEGER;
  515.  
  516.             /* size is 8 */
  517. typedef struct  _ULARGE_INTEGER
  518.     {
  519.     ULONGLONG QuadPart;
  520.     }    ULARGE_INTEGER;
  521.  
  522. #endif // 
  523. #ifndef _WINBASE_
  524. #ifndef _FILETIME_
  525. #define _FILETIME_
  526.             /* size is 8 */
  527. typedef struct  _FILETIME
  528.     {
  529.     DWORD dwLowDateTime;
  530.     DWORD dwHighDateTime;
  531.     }    FILETIME;
  532.  
  533.             /* size is 4 */
  534. typedef struct _FILETIME __RPC_FAR *PFILETIME;
  535.  
  536.             /* size is 4 */
  537. typedef struct _FILETIME __RPC_FAR *LPFILETIME;
  538.  
  539. #endif // !_FILETIME
  540. #ifndef _SYSTEMTIME_
  541. #define _SYSTEMTIME_
  542.             /* size is 16 */
  543. typedef struct  _SYSTEMTIME
  544.     {
  545.     WORD wYear;
  546.     WORD wMonth;
  547.     WORD wDayOfWeek;
  548.     WORD wDay;
  549.     WORD wHour;
  550.     WORD wMinute;
  551.     WORD wSecond;
  552.     WORD wMilliseconds;
  553.     }    SYSTEMTIME;
  554.  
  555.             /* size is 4 */
  556. typedef struct _SYSTEMTIME __RPC_FAR *PSYSTEMTIME;
  557.  
  558.             /* size is 4 */
  559. typedef struct _SYSTEMTIME __RPC_FAR *LPSYSTEMTIME;
  560.  
  561. #endif // !_SYSTEMTIME
  562. #ifndef _SECURITY_ATTRIBUTES_
  563. #define _SECURITY_ATTRIBUTES_
  564.             /* size is 12 */
  565. typedef struct  _SECURITY_ATTRIBUTES
  566.     {
  567.     DWORD nLength;
  568.     /* [size_is] */ LPVOID lpSecurityDescriptor;
  569.     BOOL bInheritHandle;
  570.     }    SECURITY_ATTRIBUTES;
  571.  
  572.             /* size is 4 */
  573. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *PSECURITY_ATTRIBUTES;
  574.  
  575.             /* size is 4 */
  576. typedef struct _SECURITY_ATTRIBUTES __RPC_FAR *LPSECURITY_ATTRIBUTES;
  577.  
  578. #endif // !_SECURITY_ATTRIBUTES_
  579. #ifndef SECURITY_DESCRIPTOR_REVISION
  580.             /* size is 2 */
  581. typedef USHORT SECURITY_DESCRIPTOR_CONTROL;
  582.  
  583.             /* size is 4 */
  584. typedef USHORT __RPC_FAR *PSECURITY_DESCRIPTOR_CONTROL;
  585.  
  586.             /* size is 4 */
  587. typedef PVOID PSID;
  588.  
  589.             /* size is 8 */
  590. typedef struct  _ACL
  591.     {
  592.     UCHAR AclRevision;
  593.     UCHAR Sbz1;
  594.     USHORT AclSize;
  595.     USHORT AceCount;
  596.     USHORT Sbz2;
  597.     }    ACL;
  598.  
  599.             /* size is 4 */
  600. typedef ACL __RPC_FAR *PACL;
  601.  
  602.             /* size is 20 */
  603. typedef struct  _SECURITY_DESCRIPTOR
  604.     {
  605.     UCHAR Revision;
  606.     UCHAR Sbz1;
  607.     SECURITY_DESCRIPTOR_CONTROL Control;
  608.     PSID Owner;
  609.     PSID Group;
  610.     PACL Sacl;
  611.     PACL Dacl;
  612.     }    SECURITY_DESCRIPTOR;
  613.  
  614.             /* size is 4 */
  615. typedef struct _SECURITY_DESCRIPTOR __RPC_FAR *PISECURITY_DESCRIPTOR;
  616.  
  617. #endif // !SECURITY_DESCRIPTOR_REVISION
  618. #endif //_WINBASE_
  619.             /* size is 4 */
  620. typedef LONG SCODE;
  621.  
  622.             /* size is 4 */
  623. typedef LONG HRESULT;
  624.  
  625.             /* size is 4 */
  626. typedef SCODE __RPC_FAR *PSCODE;
  627.  
  628. #ifndef GUID_DEFINED
  629. #define GUID_DEFINED
  630.             /* size is 16 */
  631. typedef struct  _GUID
  632.     {
  633.     DWORD Data1;
  634.     WORD Data2;
  635.     WORD Data3;
  636.     BYTE Data4[ 8 ];
  637.     }    GUID;
  638.  
  639. #endif // !GUID_DEFINED
  640. #if !defined( __LPGUID_DEFINED__ )
  641. #define __LPGUID_DEFINED__
  642.             /* size is 4 */
  643. typedef GUID __RPC_FAR *LPGUID;
  644.  
  645. #endif // !__LPGUID_DEFINED__
  646. #ifndef __OBJECTID_DEFINED
  647. #define __OBJECTID_DEFINED
  648. #define _OBJECTID_DEFINED
  649.             /* size is 20 */
  650. typedef struct  _OBJECTID
  651.     {
  652.     GUID Lineage;
  653.     unsigned long Uniquifier;
  654.     }    OBJECTID;
  655.  
  656. #endif // !_OBJECTID_DEFINED
  657. #if !defined( __IID_DEFINED__ )
  658. #define __IID_DEFINED__
  659.             /* size is 16 */
  660. typedef GUID IID;
  661.  
  662.             /* size is 4 */
  663. typedef IID __RPC_FAR *LPIID;
  664.  
  665. #define IID_NULL            GUID_NULL
  666. #define IsEqualIID(riid1, riid2) IsEqualGUID(riid1, riid2)
  667.             /* size is 16 */
  668. typedef GUID CLSID;
  669.  
  670.             /* size is 4 */
  671. typedef CLSID __RPC_FAR *LPCLSID;
  672.  
  673. #define CLSID_NULL          GUID_NULL
  674. #define IsEqualCLSID(rclsid1, rclsid2) IsEqualGUID(rclsid1, rclsid2)
  675. #if 0
  676.             /* size is 4 */
  677. typedef GUID __RPC_FAR *REFGUID;
  678.  
  679.             /* size is 4 */
  680. typedef IID __RPC_FAR *REFIID;
  681.  
  682.             /* size is 4 */
  683. typedef CLSID __RPC_FAR *REFCLSID;
  684.  
  685. #endif // 0
  686. #if defined(__cplusplus)
  687. #ifndef _REFGUID_DEFINED
  688. #define _REFGUID_DEFINED
  689. #define REFGUID             const GUID &
  690. #endif // !_REFGUID_DEFINED
  691. #ifndef _REFIID_DEFINED
  692. #define _REFIID_DEFINED
  693. #define REFIID              const IID &
  694. #endif // !_REFIID_DEFINED
  695. #ifndef _REFCLSID_DEFINED
  696. #define _REFCLSID_DEFINED
  697. #define REFCLSID            const CLSID &
  698. #endif // !_REFCLSID_DEFINED
  699. #else // !__cplusplus
  700. #ifndef _REFGUID_DEFINED
  701. #define _REFGUID_DEFINED
  702. #define REFGUID             const GUID * const
  703. #endif // !_REFGUID_DEFINED
  704. #ifndef _REFIID_DEFINED
  705. #define _REFIID_DEFINED
  706. #define REFIID              const IID * const
  707. #endif // !_REFIID_DEFINED
  708. #ifndef _REFCLSID_DEFINED
  709. #define _REFCLSID_DEFINED
  710. #define REFCLSID            const CLSID * const
  711. #endif // !_REFCLSID_DEFINED
  712. #endif // !__cplusplus
  713. #endif // !__IID_DEFINED__
  714.             /* size is 2 */
  715. typedef 
  716. enum tagMEMCTX
  717.     {    MEMCTX_TASK    = 1,
  718.     MEMCTX_SHARED    = 2,
  719.     MEMCTX_MACSYSTEM    = 3,
  720.     MEMCTX_UNKNOWN    = -1,
  721.     MEMCTX_SAME    = -2
  722.     }    MEMCTX;
  723.  
  724. #ifndef _ROTFLAGS_DEFINED
  725. #define _ROTFLAGS_DEFINED
  726. #define ROTFLAGS_REGISTRATIONKEEPSALIVE 1
  727. #endif // !_ROTFLAGS_DEFINED
  728. #ifndef _ROT_COMPARE_MAX_DEFINED
  729. #define _ROT_COMPARE_MAX_DEFINED
  730. #define ROT_COMPARE_MAX 2048
  731. #endif // !_ROT_COMPARE_MAX_DEFINED
  732.             /* size is 2 */
  733. typedef 
  734. enum tagCLSCTX
  735.     {    CLSCTX_INPROC_SERVER    = 1,
  736.     CLSCTX_INPROC_HANDLER    = 2,
  737.     CLSCTX_LOCAL_SERVER    = 4,
  738.     CLSCTX_INPROC_SERVER16    = 8
  739.     }    CLSCTX;
  740.  
  741.             /* size is 2 */
  742. typedef 
  743. enum tagMSHLFLAGS
  744.     {    MSHLFLAGS_NORMAL    = 0,
  745.     MSHLFLAGS_TABLESTRONG    = 1,
  746.     MSHLFLAGS_TABLEWEAK    = 2
  747.     }    MSHLFLAGS;
  748.  
  749.             /* size is 2 */
  750. typedef 
  751. enum tagMSHCTX
  752.     {    MSHCTX_LOCAL    = 0,
  753.     MSHCTX_NOSHAREDMEM    = 1,
  754.     MSHCTX_DIFFERENTMACHINE    = 2,
  755.     MSHCTX_INPROC    = 3
  756.     }    MSHCTX;
  757.  
  758.             /* size is 2 */
  759. typedef 
  760. enum tagDVASPECT
  761.     {    DVASPECT_CONTENT    = 1,
  762.     DVASPECT_THUMBNAIL    = 2,
  763.     DVASPECT_ICON    = 4,
  764.     DVASPECT_DOCPRINT    = 8
  765.     }    DVASPECT;
  766.  
  767.             /* size is 2 */
  768. typedef 
  769. enum tagSTGC
  770.     {    STGC_DEFAULT    = 0,
  771.     STGC_OVERWRITE    = 1,
  772.     STGC_ONLYIFCURRENT    = 2,
  773.     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE    = 4
  774.     }    STGC;
  775.  
  776.             /* size is 2 */
  777. typedef 
  778. enum tagSTGMOVE
  779.     {    STGMOVE_MOVE    = 0,
  780.     STGMOVE_COPY    = 1
  781.     }    STGMOVE;
  782.  
  783.             /* size is 2 */
  784. typedef 
  785. enum tagSTATFLAG
  786.     {    STATFLAG_DEFAULT    = 0,
  787.     STATFLAG_NONAME    = 1
  788.     }    STATFLAG;
  789.  
  790.             /* size is 4 */
  791. typedef /* [context_handle] */ void __RPC_FAR *HCONTEXT;
  792.  
  793. #ifndef _LCID_DEFINED
  794. #define _LCID_DEFINED
  795.             /* size is 4 */
  796. typedef DWORD LCID;
  797.  
  798. #endif // !_LCID_DEFINED
  799. void __RPC_API HGLOBAL_to_xmit (HGLOBAL __RPC_FAR *, RemHGLOBAL __RPC_FAR * __RPC_FAR *);
  800. void __RPC_API HGLOBAL_from_xmit (RemHGLOBAL __RPC_FAR *, HGLOBAL __RPC_FAR *);
  801. void __RPC_API HGLOBAL_free_inst (HGLOBAL __RPC_FAR *);
  802. void __RPC_API HGLOBAL_free_xmit (RemHGLOBAL __RPC_FAR *);
  803. void __RPC_API HBITMAP_to_xmit (HBITMAP __RPC_FAR *, RemHBITMAP __RPC_FAR * __RPC_FAR *);
  804. void __RPC_API HBITMAP_from_xmit (RemHBITMAP __RPC_FAR *, HBITMAP __RPC_FAR *);
  805. void __RPC_API HBITMAP_free_inst (HBITMAP __RPC_FAR *);
  806. void __RPC_API HBITMAP_free_xmit (RemHBITMAP __RPC_FAR *);
  807. void __RPC_API HPALETTE_to_xmit (HPALETTE __RPC_FAR *, RemHPALETTE __RPC_FAR * __RPC_FAR *);
  808. void __RPC_API HPALETTE_from_xmit (RemHPALETTE __RPC_FAR *, HPALETTE __RPC_FAR *);
  809. void __RPC_API HPALETTE_free_inst (HPALETTE __RPC_FAR *);
  810. void __RPC_API HPALETTE_free_xmit (RemHPALETTE __RPC_FAR *);
  811. void __RPC_API HBRUSH_to_xmit (HBRUSH __RPC_FAR *, RemHBRUSH __RPC_FAR * __RPC_FAR *);
  812. void __RPC_API HBRUSH_from_xmit (RemHBRUSH __RPC_FAR *, HBRUSH __RPC_FAR *);
  813. void __RPC_API HBRUSH_free_inst (HBRUSH __RPC_FAR *);
  814. void __RPC_API HBRUSH_free_xmit (RemHBRUSH __RPC_FAR *);
  815. void __RPC_API HMETAFILEPICT_to_xmit (HMETAFILEPICT __RPC_FAR *, RemHMETAFILEPICT __RPC_FAR * __RPC_FAR *);
  816. void __RPC_API HMETAFILEPICT_from_xmit (RemHMETAFILEPICT __RPC_FAR *, HMETAFILEPICT __RPC_FAR *);
  817. void __RPC_API HMETAFILEPICT_free_inst (HMETAFILEPICT __RPC_FAR *);
  818. void __RPC_API HMETAFILEPICT_free_xmit (RemHMETAFILEPICT __RPC_FAR *);
  819. void __RPC_API HENHMETAFILE_to_xmit (HENHMETAFILE __RPC_FAR *, RemHENHMETAFILE __RPC_FAR * __RPC_FAR *);
  820. void __RPC_API HENHMETAFILE_from_xmit (RemHENHMETAFILE __RPC_FAR *, HENHMETAFILE __RPC_FAR *);
  821. void __RPC_API HENHMETAFILE_free_inst (HENHMETAFILE __RPC_FAR *);
  822. void __RPC_API HENHMETAFILE_free_xmit (RemHENHMETAFILE __RPC_FAR *);
  823.  
  824.  
  825. extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
  826. extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
  827. #endif /* __IWinTypes_INTERFACE_DEFINED__ */
  828.  
  829. /* Additional Prototypes for ALL interfaces */
  830.  
  831. /* end of Additional Prototypes */
  832.  
  833. #ifdef __cplusplus
  834. }
  835. #endif
  836.  
  837. #endif
  838.