Hex Artifact Content

Not logged in

Artifact e2cda4dadcb42922b5bfa4e90a2c0301397a0589:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 20 6f 6c 65 2e              ole.
0070: 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  d               
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 62 79 20 53 74 65 77 61          by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20  rt Gordon       
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  *               
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69          Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69  nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  n               
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a          *.\*****
02a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02e0: 2a 2a 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32  **/.module win32
02f0: 2e 6f 6c 65 3b 0a 0a 70 72 69 76 61 74 65 20 69  .ole;..private i
0300: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 64  mport win32.wind
0310: 65 66 2c 20 77 69 6e 33 32 2e 77 69 6e 67 64 69  ef, win32.wingdi
0320: 2c 20 77 69 6e 33 32 2e 75 75 69 64 3b 0a 0a 61  , win32.uuid;..a
0330: 6c 69 61 73 20 4c 50 43 53 54 52 20 4f 4c 45 5f  lias LPCSTR OLE_
0340: 4c 50 43 53 54 52 3b 0a 0a 2f 2b 23 64 65 66 69  LPCSTR;../+#defi
0350: 6e 65 20 4c 52 45 53 55 4c 54 20 4c 4f 4e 47 0a  ne LRESULT LONG.
0360: 23 64 65 66 69 6e 65 20 48 47 4c 4f 42 41 4c 20  #define HGLOBAL 
0370: 48 41 4e 44 4c 45 2b 2f 0a 0a 65 6e 75 6d 20 7b  HANDLE+/..enum {
0380: 0a 09 4f 54 5f 4c 49 4e 4b 20 3d 20 31 2c 0a 09  ..OT_LINK = 1,..
0390: 4f 54 5f 45 4d 42 45 44 44 45 44 2c 0a 09 4f 54  OT_EMBEDDED,..OT
03a0: 5f 53 54 41 54 49 43 0a 7d 0a 0a 63 6f 6e 73 74  _STATIC.}..const
03b0: 20 4f 4c 45 56 45 52 42 5f 50 52 49 4d 41 52 59   OLEVERB_PRIMARY
03c0: 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4f 46 5f 53   = 0;.const OF_S
03d0: 45 54 20 20 20 20 20 20 20 20 20 20 3d 20 31 3b  ET          = 1;
03e0: 0a 63 6f 6e 73 74 20 4f 46 5f 47 45 54 20 20 20  .const OF_GET   
03f0: 20 20 20 20 20 20 20 3d 20 32 3b 0a 63 6f 6e 73         = 2;.cons
0400: 74 20 4f 46 5f 48 41 4e 44 4c 45 52 20 20 20 20  t OF_HANDLER    
0410: 20 20 3d 20 34 3b 0a 0a 73 74 72 75 63 74 20 4f    = 4;..struct O
0420: 4c 45 54 41 52 47 45 54 44 45 56 49 43 45 20 7b  LETARGETDEVICE {
0430: 0a 09 55 53 48 4f 52 54 20 6f 74 64 44 65 76 69  ..USHORT otdDevi
0440: 63 65 4e 61 6d 65 4f 66 66 73 65 74 3b 0a 09 55  ceNameOffset;..U
0450: 53 48 4f 52 54 20 6f 74 64 44 72 69 76 65 72 4e  SHORT otdDriverN
0460: 61 6d 65 4f 66 66 73 65 74 3b 0a 09 55 53 48 4f  ameOffset;..USHO
0470: 52 54 20 6f 74 64 50 6f 72 74 4e 61 6d 65 4f 66  RT otdPortNameOf
0480: 66 73 65 74 3b 0a 09 55 53 48 4f 52 54 20 6f 74  fset;..USHORT ot
0490: 64 45 78 74 44 65 76 6d 6f 64 65 4f 66 66 73 65  dExtDevmodeOffse
04a0: 74 3b 0a 09 55 53 48 4f 52 54 20 6f 74 64 45 78  t;..USHORT otdEx
04b0: 74 44 65 76 6d 6f 64 65 53 69 7a 65 3b 0a 09 55  tDevmodeSize;..U
04c0: 53 48 4f 52 54 20 6f 74 64 45 6e 76 69 72 6f 6e  SHORT otdEnviron
04d0: 6d 65 6e 74 4f 66 66 73 65 74 3b 0a 09 55 53 48  mentOffset;..USH
04e0: 4f 52 54 20 6f 74 64 45 6e 76 69 72 6f 6e 6d 65  ORT otdEnvironme
04f0: 6e 74 53 69 7a 65 3b 0a 09 42 59 54 45 20 20 20  ntSize;..BYTE   
0500: 5f 6f 74 64 44 61 74 61 3b 0a 09 42 59 54 45 2a  _otdData;..BYTE*
0510: 20 20 6f 74 64 44 61 74 61 28 29 20 7b 20 72 65    otdData() { re
0520: 74 75 72 6e 20 26 5f 6f 74 64 44 61 74 61 3b 20  turn &_otdData; 
0530: 7d 0a 7d 0a 61 6c 69 61 73 20 4f 4c 45 54 41 52  }.}.alias OLETAR
0540: 47 45 54 44 45 56 49 43 45 2a 20 4c 50 4f 4c 45  GETDEVICE* LPOLE
0550: 54 41 52 47 45 54 44 45 56 49 43 45 3b 0a 0a 65  TARGETDEVICE;..e
0560: 6e 75 6d 20 4f 4c 45 53 54 41 54 55 53 20 7b 0a  num OLESTATUS {.
0570: 09 4f 4c 45 5f 4f 4b 2c 0a 09 4f 4c 45 5f 57 41  .OLE_OK,..OLE_WA
0580: 49 54 5f 46 4f 52 5f 52 45 4c 45 41 53 45 2c 0a  IT_FOR_RELEASE,.
0590: 09 4f 4c 45 5f 42 55 53 59 2c 0a 09 4f 4c 45 5f  .OLE_BUSY,..OLE_
05a0: 45 52 52 4f 52 5f 50 52 4f 54 45 43 54 5f 4f 4e  ERROR_PROTECT_ON
05b0: 4c 59 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 4d  LY,..OLE_ERROR_M
05c0: 45 4d 4f 52 59 2c 0a 09 4f 4c 45 5f 45 52 52 4f  EMORY,..OLE_ERRO
05d0: 52 5f 53 54 52 45 41 4d 2c 0a 09 4f 4c 45 5f 45  R_STREAM,..OLE_E
05e0: 52 52 4f 52 5f 53 54 41 54 49 43 2c 0a 09 4f 4c  RROR_STATIC,..OL
05f0: 45 5f 45 52 52 4f 52 5f 42 4c 41 4e 4b 2c 0a 09  E_ERROR_BLANK,..
0600: 4f 4c 45 5f 45 52 52 4f 52 5f 44 52 41 57 2c 0a  OLE_ERROR_DRAW,.
0610: 09 4f 4c 45 5f 45 52 52 4f 52 5f 4d 45 54 41 46  .OLE_ERROR_METAF
0620: 49 4c 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f  ILE,..OLE_ERROR_
0630: 41 42 4f 52 54 2c 0a 09 4f 4c 45 5f 45 52 52 4f  ABORT,..OLE_ERRO
0640: 52 5f 43 4c 49 50 42 4f 41 52 44 2c 0a 09 4f 4c  R_CLIPBOARD,..OL
0650: 45 5f 45 52 52 4f 52 5f 46 4f 52 4d 41 54 2c 0a  E_ERROR_FORMAT,.
0660: 09 4f 4c 45 5f 45 52 52 4f 52 5f 4f 42 4a 45 43  .OLE_ERROR_OBJEC
0670: 54 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 4f 50  T,..OLE_ERROR_OP
0680: 54 49 4f 4e 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52  TION,..OLE_ERROR
0690: 5f 50 52 4f 54 4f 43 4f 4c 2c 0a 09 4f 4c 45 5f  _PROTOCOL,..OLE_
06a0: 45 52 52 4f 52 5f 41 44 44 52 45 53 53 2c 0a 09  ERROR_ADDRESS,..
06b0: 4f 4c 45 5f 45 52 52 4f 52 5f 4e 4f 54 5f 45 51  OLE_ERROR_NOT_EQ
06c0: 55 41 4c 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f  UAL,..OLE_ERROR_
06d0: 48 41 4e 44 4c 45 2c 0a 09 4f 4c 45 5f 45 52 52  HANDLE,..OLE_ERR
06e0: 4f 52 5f 47 45 4e 45 52 49 43 2c 0a 09 4f 4c 45  OR_GENERIC,..OLE
06f0: 5f 45 52 52 4f 52 5f 43 4c 41 53 53 2c 0a 09 4f  _ERROR_CLASS,..O
0700: 4c 45 5f 45 52 52 4f 52 5f 53 59 4e 54 41 58 2c  LE_ERROR_SYNTAX,
0710: 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 44 41 54 41  ..OLE_ERROR_DATA
0720: 54 59 50 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52  TYPE,..OLE_ERROR
0730: 5f 50 41 4c 45 54 54 45 2c 0a 09 4f 4c 45 5f 45  _PALETTE,..OLE_E
0740: 52 52 4f 52 5f 4e 4f 54 5f 4c 49 4e 4b 2c 0a 09  RROR_NOT_LINK,..
0750: 4f 4c 45 5f 45 52 52 4f 52 5f 4e 4f 54 5f 45 4d  OLE_ERROR_NOT_EM
0760: 50 54 59 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f  PTY,..OLE_ERROR_
0770: 53 49 5a 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52  SIZE,..OLE_ERROR
0780: 5f 44 52 49 56 45 2c 0a 09 4f 4c 45 5f 45 52 52  _DRIVE,..OLE_ERR
0790: 4f 52 5f 4e 45 54 57 4f 52 4b 2c 0a 09 4f 4c 45  OR_NETWORK,..OLE
07a0: 5f 45 52 52 4f 52 5f 4e 41 4d 45 2c 0a 09 4f 4c  _ERROR_NAME,..OL
07b0: 45 5f 45 52 52 4f 52 5f 54 45 4d 50 4c 41 54 45  E_ERROR_TEMPLATE
07c0: 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 4e 45 57  ,..OLE_ERROR_NEW
07d0: 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 45 44 49  ,..OLE_ERROR_EDI
07e0: 54 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 4f 50  T,..OLE_ERROR_OP
07f0: 45 4e 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 4e  EN,..OLE_ERROR_N
0800: 4f 54 5f 4f 50 45 4e 2c 0a 09 4f 4c 45 5f 45 52  OT_OPEN,..OLE_ER
0810: 52 4f 52 5f 4c 41 55 4e 43 48 2c 0a 09 4f 4c 45  ROR_LAUNCH,..OLE
0820: 5f 45 52 52 4f 52 5f 43 4f 4d 4d 2c 0a 09 4f 4c  _ERROR_COMM,..OL
0830: 45 5f 45 52 52 4f 52 5f 54 45 52 4d 49 4e 41 54  E_ERROR_TERMINAT
0840: 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 43 4f  E,..OLE_ERROR_CO
0850: 4d 4d 41 4e 44 2c 0a 09 4f 4c 45 5f 45 52 52 4f  MMAND,..OLE_ERRO
0860: 52 5f 53 48 4f 57 2c 0a 09 4f 4c 45 5f 45 52 52  R_SHOW,..OLE_ERR
0870: 4f 52 5f 44 4f 56 45 52 42 2c 0a 09 4f 4c 45 5f  OR_DOVERB,..OLE_
0880: 45 52 52 4f 52 5f 41 44 56 49 53 45 5f 4e 41 54  ERROR_ADVISE_NAT
0890: 49 56 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f  IVE,..OLE_ERROR_
08a0: 41 44 56 49 53 45 5f 50 49 43 54 2c 0a 09 4f 4c  ADVISE_PICT,..OL
08b0: 45 5f 45 52 52 4f 52 5f 41 44 56 49 53 45 5f 52  E_ERROR_ADVISE_R
08c0: 45 4e 41 4d 45 2c 0a 09 4f 4c 45 5f 45 52 52 4f  ENAME,..OLE_ERRO
08d0: 52 5f 50 4f 4b 45 5f 4e 41 54 49 56 45 2c 0a 09  R_POKE_NATIVE,..
08e0: 4f 4c 45 5f 45 52 52 4f 52 5f 52 45 51 55 45 53  OLE_ERROR_REQUES
08f0: 54 5f 4e 41 54 49 56 45 2c 0a 09 4f 4c 45 5f 45  T_NATIVE,..OLE_E
0900: 52 52 4f 52 5f 52 45 51 55 45 53 54 5f 50 49 43  RROR_REQUEST_PIC
0910: 54 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52 5f 53 45  T,..OLE_ERROR_SE
0920: 52 56 45 52 5f 42 4c 4f 43 4b 45 44 2c 0a 09 4f  RVER_BLOCKED,..O
0930: 4c 45 5f 45 52 52 4f 52 5f 52 45 47 49 53 54 52  LE_ERROR_REGISTR
0940: 41 54 49 4f 4e 2c 0a 09 4f 4c 45 5f 45 52 52 4f  ATION,..OLE_ERRO
0950: 52 5f 41 4c 52 45 41 44 59 5f 52 45 47 49 53 54  R_ALREADY_REGIST
0960: 45 52 45 44 2c 0a 09 4f 4c 45 5f 45 52 52 4f 52  ERED,..OLE_ERROR
0970: 5f 54 41 53 4b 2c 0a 09 4f 4c 45 5f 45 52 52 4f  _TASK,..OLE_ERRO
0980: 52 5f 4f 55 54 4f 46 44 41 54 45 2c 0a 09 4f 4c  R_OUTOFDATE,..OL
0990: 45 5f 45 52 52 4f 52 5f 43 41 4e 54 5f 55 50 44  E_ERROR_CANT_UPD
09a0: 41 54 45 5f 43 4c 49 45 4e 54 2c 0a 09 4f 4c 45  ATE_CLIENT,..OLE
09b0: 5f 45 52 52 4f 52 5f 55 50 44 41 54 45 2c 0a 09  _ERROR_UPDATE,..
09c0: 4f 4c 45 5f 45 52 52 4f 52 5f 53 45 54 44 41 54  OLE_ERROR_SETDAT
09d0: 41 5f 46 4f 52 4d 41 54 2c 0a 09 4f 4c 45 5f 45  A_FORMAT,..OLE_E
09e0: 52 52 4f 52 5f 53 54 41 54 49 43 5f 46 52 4f 4d  RROR_STATIC_FROM
09f0: 5f 4f 54 48 45 52 5f 4f 53 2c 0a 09 4f 4c 45 5f  _OTHER_OS,..OLE_
0a00: 45 52 52 4f 52 5f 46 49 4c 45 5f 56 45 52 2c 0a  ERROR_FILE_VER,.
0a10: 09 4f 4c 45 5f 57 41 52 4e 5f 44 45 4c 45 54 45  .OLE_WARN_DELETE
0a20: 5f 44 41 54 41 20 3d 20 31 30 30 30 0a 7d 0a 0a  _DATA = 1000.}..
0a30: 65 6e 75 6d 20 4f 4c 45 5f 4e 4f 54 49 46 49 43  enum OLE_NOTIFIC
0a40: 41 54 49 4f 4e 20 7b 0a 09 4f 4c 45 5f 43 48 41  ATION {..OLE_CHA
0a50: 4e 47 45 44 2c 0a 09 4f 4c 45 5f 53 41 56 45 44  NGED,..OLE_SAVED
0a60: 2c 0a 09 4f 4c 45 5f 43 4c 4f 53 45 44 2c 0a 09  ,..OLE_CLOSED,..
0a70: 4f 4c 45 5f 52 45 4e 41 4d 45 44 2c 0a 09 4f 4c  OLE_RENAMED,..OL
0a80: 45 5f 51 55 45 52 59 5f 50 41 49 4e 54 2c 0a 09  E_QUERY_PAINT,..
0a90: 4f 4c 45 5f 52 45 4c 45 41 53 45 2c 0a 09 4f 4c  OLE_RELEASE,..OL
0aa0: 45 5f 51 55 45 52 59 5f 52 45 54 52 59 0a 7d 0a  E_QUERY_RETRY.}.
0ab0: 0a 65 6e 75 6d 20 4f 4c 45 5f 52 45 4c 45 41 53  .enum OLE_RELEAS
0ac0: 45 5f 4d 45 54 48 4f 44 20 7b 0a 09 4f 4c 45 5f  E_METHOD {..OLE_
0ad0: 4e 4f 4e 45 2c 0a 09 4f 4c 45 5f 44 45 4c 45 54  NONE,..OLE_DELET
0ae0: 45 2c 0a 09 4f 4c 45 5f 4c 4e 4b 50 41 53 54 45  E,..OLE_LNKPASTE
0af0: 2c 0a 09 4f 4c 45 5f 45 4d 42 50 41 53 54 45 2c  ,..OLE_EMBPASTE,
0b00: 0a 09 4f 4c 45 5f 53 48 4f 57 2c 0a 09 4f 4c 45  ..OLE_SHOW,..OLE
0b10: 5f 52 55 4e 2c 0a 09 4f 4c 45 5f 41 43 54 49 56  _RUN,..OLE_ACTIV
0b20: 41 54 45 2c 0a 09 4f 4c 45 5f 55 50 44 41 54 45  ATE,..OLE_UPDATE
0b30: 2c 0a 09 4f 4c 45 5f 43 4c 4f 53 45 2c 0a 09 4f  ,..OLE_CLOSE,..O
0b40: 4c 45 5f 52 45 43 4f 4e 4e 45 43 54 2c 0a 09 4f  LE_RECONNECT,..O
0b50: 4c 45 5f 53 45 54 55 50 44 41 54 45 4f 50 54 49  LE_SETUPDATEOPTI
0b60: 4f 4e 53 2c 0a 09 4f 4c 45 5f 53 45 52 56 45 52  ONS,..OLE_SERVER
0b70: 55 4e 4c 41 55 4e 43 48 2c 0a 09 4f 4c 45 5f 4c  UNLAUNCH,..OLE_L
0b80: 4f 41 44 46 52 4f 4d 53 54 52 45 41 4d 2c 0a 09  OADFROMSTREAM,..
0b90: 4f 4c 45 5f 53 45 54 44 41 54 41 2c 0a 09 4f 4c  OLE_SETDATA,..OL
0ba0: 45 5f 52 45 51 55 45 53 54 44 41 54 41 2c 0a 09  E_REQUESTDATA,..
0bb0: 4f 4c 45 5f 4f 54 48 45 52 2c 0a 09 4f 4c 45 5f  OLE_OTHER,..OLE_
0bc0: 43 52 45 41 54 45 2c 0a 09 4f 4c 45 5f 43 52 45  CREATE,..OLE_CRE
0bd0: 41 54 45 46 52 4f 4d 54 45 4d 50 4c 41 54 45 2c  ATEFROMTEMPLATE,
0be0: 0a 09 4f 4c 45 5f 43 52 45 41 54 45 4c 49 4e 4b  ..OLE_CREATELINK
0bf0: 46 52 4f 4d 46 49 4c 45 2c 0a 09 4f 4c 45 5f 43  FROMFILE,..OLE_C
0c00: 4f 50 59 46 52 4f 4d 4c 4e 4b 2c 0a 09 4f 4c 45  OPYFROMLNK,..OLE
0c10: 5f 43 52 45 41 54 45 46 52 4f 4d 46 49 4c 45 2c  _CREATEFROMFILE,
0c20: 0a 09 4f 4c 45 5f 43 52 45 41 54 45 49 4e 56 49  ..OLE_CREATEINVI
0c30: 53 49 42 4c 45 0a 7d 0a 0a 65 6e 75 6d 20 4f 4c  SIBLE.}..enum OL
0c40: 45 4f 50 54 5f 52 45 4e 44 45 52 20 7b 0a 09 6f  EOPT_RENDER {..o
0c50: 6c 65 72 65 6e 64 65 72 5f 6e 6f 6e 65 2c 0a 09  lerender_none,..
0c60: 6f 6c 65 72 65 6e 64 65 72 5f 64 72 61 77 2c 0a  olerender_draw,.
0c70: 09 6f 6c 65 72 65 6e 64 65 72 5f 66 6f 72 6d 61  .olerender_forma
0c80: 74 0a 7d 0a 0a 61 6c 69 61 73 20 57 4f 52 44 20  t.}..alias WORD 
0c90: 4f 4c 45 43 4c 49 50 46 4f 52 4d 41 54 3b 0a 0a  OLECLIPFORMAT;..
0ca0: 65 6e 75 6d 20 4f 4c 45 4f 50 54 5f 55 50 44 41  enum OLEOPT_UPDA
0cb0: 54 45 20 7b 0a 09 6f 6c 65 75 70 64 61 74 65 5f  TE {..oleupdate_
0cc0: 61 6c 77 61 79 73 2c 0a 09 6f 6c 65 75 70 64 61  always,..oleupda
0cd0: 74 65 5f 6f 6e 73 61 76 65 2c 0a 09 6f 6c 65 75  te_onsave,..oleu
0ce0: 70 64 61 74 65 5f 6f 6e 63 61 6c 6c 2c 0a 2f 2f  pdate_oncall,.//
0cf0: 20 23 69 66 64 65 66 20 4f 4c 45 5f 49 4e 54 45   #ifdef OLE_INTE
0d00: 52 4e 41 4c 0a 09 6f 6c 65 75 70 64 61 74 65 5f  RNAL..oleupdate_
0d10: 6f 6e 63 6c 6f 73 65 0a 2f 2f 20 23 65 6e 64 69  onclose.// #endi
0d20: 66 0a 7d 0a 0a 61 6c 69 61 73 20 48 41 4e 44 4c  f.}..alias HANDL
0d30: 45 20 48 4f 42 4a 45 43 54 3b 0a 61 6c 69 61 73  E HOBJECT;.alias
0d40: 20 4c 4f 4e 47 20 4c 48 53 45 52 56 45 52 2c 20   LONG LHSERVER, 
0d50: 4c 48 43 4c 49 45 4e 54 44 4f 43 2c 20 4c 48 53  LHCLIENTDOC, LHS
0d60: 45 52 56 45 52 44 4f 43 3b 0a 0a 73 74 72 75 63  ERVERDOC;..struc
0d70: 74 20 4f 4c 45 4f 42 4a 45 43 54 56 54 42 4c 20  t OLEOBJECTVTBL 
0d80: 7b 0a 09 65 78 74 65 72 6e 20 28 57 69 6e 64 6f  {..extern (Windo
0d90: 77 73 29 20 7b 0a 09 09 76 6f 69 64 2a 20 66 75  ws) {...void* fu
0da0: 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45  nction(LPOLEOBJE
0db0: 43 54 2c 20 4f 4c 45 5f 4c 50 43 53 54 52 29 20  CT, OLE_LPCSTR) 
0dc0: 51 75 65 72 79 50 72 6f 74 6f 63 6f 6c 3b 0a 09  QueryProtocol;..
0dd0: 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74  .OLESTATUS funct
0de0: 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29  ion(LPOLEOBJECT)
0df0: 20 52 65 6c 65 61 73 65 3b 0a 09 09 4f 4c 45 53   Release;...OLES
0e00: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c  TATUS function(L
0e10: 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 42 4f 4f 4c  POLEOBJECT, BOOL
0e20: 29 20 53 68 6f 77 3b 0a 09 09 4f 4c 45 53 54 41  ) Show;...OLESTA
0e30: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f  TUS function(LPO
0e40: 4c 45 4f 42 4a 45 43 54 2c 20 55 49 4e 54 2c 20  LEOBJECT, UINT, 
0e50: 42 4f 4f 4c 2c 20 42 4f 4f 4c 29 20 44 6f 56 65  BOOL, BOOL) DoVe
0e60: 72 62 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20  rb;...OLESTATUS 
0e70: 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42  function(LPOLEOB
0e80: 4a 45 43 54 2c 20 4f 4c 45 43 4c 49 50 46 4f 52  JECT, OLECLIPFOR
0e90: 4d 41 54 2c 20 48 41 4e 44 4c 45 2a 29 20 47 65  MAT, HANDLE*) Ge
0ea0: 74 44 61 74 61 3b 0a 09 09 4f 4c 45 53 54 41 54  tData;...OLESTAT
0eb0: 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c  US function(LPOL
0ec0: 45 4f 42 4a 45 43 54 2c 20 4f 4c 45 43 4c 49 50  EOBJECT, OLECLIP
0ed0: 46 4f 52 4d 41 54 2c 20 48 41 4e 44 4c 45 29 20  FORMAT, HANDLE) 
0ee0: 53 65 74 44 61 74 61 3b 0a 09 09 4f 4c 45 53 54  SetData;...OLEST
0ef0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50  ATUS function(LP
0f00: 4f 4c 45 4f 42 4a 45 43 54 2c 20 48 47 4c 4f 42  OLEOBJECT, HGLOB
0f10: 41 4c 29 20 53 65 74 54 61 72 67 65 74 44 65 76  AL) SetTargetDev
0f20: 69 63 65 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53  ice;...OLESTATUS
0f30: 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f   function(LPOLEO
0f40: 42 4a 45 43 54 2c 20 52 45 43 54 2a 29 20 53 65  BJECT, RECT*) Se
0f50: 74 42 6f 75 6e 64 73 3b 0a 09 09 4f 4c 45 43 4c  tBounds;...OLECL
0f60: 49 50 46 4f 52 4d 41 54 20 66 75 6e 63 74 69 6f  IPFORMAT functio
0f70: 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f  n(LPOLEOBJECT, O
0f80: 4c 45 43 4c 49 50 46 4f 52 4d 41 54 29 20 45 6e  LECLIPFORMAT) En
0f90: 75 6d 46 6f 72 6d 61 74 73 3b 0a 09 09 4f 4c 45  umFormats;...OLE
0fa0: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
0fb0: 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4c 4f 47  LPOLEOBJECT, LOG
0fc0: 50 41 4c 45 54 54 45 2a 29 20 53 65 74 43 6f 6c  PALETTE*) SetCol
0fd0: 6f 72 53 63 68 65 6d 65 3b 0a 2f 2f 23 69 66 6e  orScheme;.//#ifn
0fe0: 64 65 66 20 53 45 52 56 45 52 4f 4e 4c 59 0a 09  def SERVERONLY..
0ff0: 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74  .OLESTATUS funct
1000: 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29  ion(LPOLEOBJECT)
1010: 20 44 65 6c 65 74 65 3b 0a 09 09 4f 4c 45 53 54   Delete;...OLEST
1020: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50  ATUS function(LP
1030: 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f 4c 45 5f 4c  OLEOBJECT, OLE_L
1040: 50 43 53 54 52 2c 20 4f 4c 45 5f 4c 50 43 53 54  PCSTR, OLE_LPCST
1050: 52 29 20 53 65 74 48 6f 73 74 4e 61 6d 65 73 3b  R) SetHostNames;
1060: 0a 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e  ...OLESTATUS fun
1070: 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43  ction(LPOLEOBJEC
1080: 54 2c 20 4c 50 4f 4c 45 53 54 52 45 41 4d 29 20  T, LPOLESTREAM) 
1090: 53 61 76 65 54 6f 53 74 72 65 61 6d 3b 0a 09 09  SaveToStream;...
10a0: 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69  OLESTATUS functi
10b0: 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20  on(LPOLEOBJECT, 
10c0: 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 48 43  LPOLECLIENT, LHC
10d0: 4c 49 45 4e 54 44 4f 43 2c 20 4f 4c 45 5f 4c 50  LIENTDOC, OLE_LP
10e0: 43 53 54 52 2c 0a 09 09 20 20 4c 50 4f 4c 45 4f  CSTR,...  LPOLEO
10f0: 42 4a 45 43 54 2a 29 20 43 6c 6f 6e 65 3b 0a 09  BJECT*) Clone;..
1100: 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74  .OLESTATUS funct
1110: 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c  ion(LPOLEOBJECT,
1120: 20 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 48   LPOLECLIENT, LH
1130: 43 4c 49 45 4e 54 44 4f 43 2c 20 4f 4c 45 5f 4c  CLIENTDOC, OLE_L
1140: 50 43 53 54 52 2c 0a 09 09 20 20 4c 50 4f 4c 45  PCSTR,...  LPOLE
1150: 4f 42 4a 45 43 54 2a 29 20 43 6f 70 79 46 72 6f  OBJECT*) CopyFro
1160: 6d 4c 69 6e 6b 3b 0a 09 09 4f 4c 45 53 54 41 54  mLink;...OLESTAT
1170: 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c  US function(LPOL
1180: 45 4f 42 4a 45 43 54 2c 20 4c 50 4f 4c 45 4f 42  EOBJECT, LPOLEOB
1190: 4a 45 43 54 29 20 45 71 75 61 6c 3b 0a 09 09 4f  JECT) Equal;...O
11a0: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
11b0: 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 20 43  n(LPOLEOBJECT) C
11c0: 6f 70 79 54 6f 43 6c 69 70 62 6f 61 72 64 3b 0a  opyToClipboard;.
11d0: 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63  ..OLESTATUS func
11e0: 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  tion(LPOLEOBJECT
11f0: 2c 20 48 44 43 2c 20 52 45 43 54 2a 2c 20 52 45  , HDC, RECT*, RE
1200: 43 54 2a 2c 20 48 44 43 29 20 44 72 61 77 3b 0a  CT*, HDC) Draw;.
1210: 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63  ..OLESTATUS func
1220: 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  tion(LPOLEOBJECT
1230: 2c 20 55 49 4e 54 2c 20 42 4f 4f 4c 2c 20 42 4f  , UINT, BOOL, BO
1240: 4f 4c 2c 20 48 57 4e 44 2c 20 52 45 43 54 2a 29  OL, HWND, RECT*)
1250: 0a 09 09 20 20 41 63 74 69 76 61 74 65 3b 0a 09  ...  Activate;..
1260: 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74  .OLESTATUS funct
1270: 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c  ion(LPOLEOBJECT,
1280: 20 48 47 4c 4f 42 41 4c 2c 20 55 49 4e 54 29 20   HGLOBAL, UINT) 
1290: 45 78 65 63 75 74 65 3b 0a 09 09 4f 4c 45 53 54  Execute;...OLEST
12a0: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50  ATUS function(LP
12b0: 4f 4c 45 4f 42 4a 45 43 54 29 20 43 6c 6f 73 65  OLEOBJECT) Close
12c0: 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75  ;...OLESTATUS fu
12d0: 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45  nction(LPOLEOBJE
12e0: 43 54 29 20 55 70 64 61 74 65 3b 0a 09 09 4f 4c  CT) Update;...OL
12f0: 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  ESTATUS function
1300: 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 20 52 65  (LPOLEOBJECT) Re
1310: 63 6f 6e 6e 65 63 74 3b 0a 09 09 4f 4c 45 53 54  connect;...OLEST
1320: 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50  ATUS function(LP
1330: 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f 4c 45 5f 4c  OLEOBJECT, OLE_L
1340: 50 43 53 54 52 2c 20 4c 50 4f 4c 45 43 4c 49 45  PCSTR, LPOLECLIE
1350: 4e 54 2c 20 4c 48 43 4c 49 45 4e 54 44 4f 43 2c  NT, LHCLIENTDOC,
1360: 0a 09 09 20 20 4f 4c 45 5f 4c 50 43 53 54 52 2c  ...  OLE_LPCSTR,
1370: 20 4c 50 4f 4c 45 4f 42 4a 45 43 54 2a 29 20 4f   LPOLEOBJECT*) O
1380: 62 6a 65 63 74 43 6f 6e 76 65 72 74 3b 0a 09 09  bjectConvert;...
1390: 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69  OLESTATUS functi
13a0: 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20  on(LPOLEOBJECT, 
13b0: 4f 4c 45 4f 50 54 5f 55 50 44 41 54 45 2a 29 20  OLEOPT_UPDATE*) 
13c0: 47 65 74 4c 69 6e 6b 55 70 64 61 74 65 4f 70 74  GetLinkUpdateOpt
13d0: 69 6f 6e 73 3b 0a 09 09 4f 4c 45 53 54 41 54 55  ions;...OLESTATU
13e0: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45  S function(LPOLE
13f0: 4f 42 4a 45 43 54 2c 20 4f 4c 45 4f 50 54 5f 55  OBJECT, OLEOPT_U
1400: 50 44 41 54 45 29 20 53 65 74 4c 69 6e 6b 55 70  PDATE) SetLinkUp
1410: 64 61 74 65 4f 70 74 69 6f 6e 73 3b 0a 09 09 4f  dateOptions;...O
1420: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
1430: 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f  n(LPOLEOBJECT, O
1440: 4c 45 5f 4c 50 43 53 54 52 29 20 52 65 6e 61 6d  LE_LPCSTR) Renam
1450: 65 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20 66  e;...OLESTATUS f
1460: 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a  unction(LPOLEOBJ
1470: 45 43 54 2c 20 4c 50 53 54 52 2c 20 55 49 4e 54  ECT, LPSTR, UINT
1480: 2a 29 20 51 75 65 72 79 4e 61 6d 65 3b 0a 09 09  *) QueryName;...
1490: 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69  OLESTATUS functi
14a0: 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20  on(LPOLEOBJECT, 
14b0: 4c 4f 4e 47 2a 29 20 51 75 65 72 79 54 79 70 65  LONG*) QueryType
14c0: 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75  ;...OLESTATUS fu
14d0: 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45  nction(LPOLEOBJE
14e0: 43 54 2c 20 52 45 43 54 2a 29 20 51 75 65 72 79  CT, RECT*) Query
14f0: 42 6f 75 6e 64 73 3b 0a 09 09 4f 4c 45 53 54 41  Bounds;...OLESTA
1500: 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f  TUS function(LPO
1510: 4c 45 4f 42 4a 45 43 54 2c 20 44 57 4f 52 44 2a  LEOBJECT, DWORD*
1520: 29 20 51 75 65 72 79 53 69 7a 65 3b 0a 09 09 4f  ) QuerySize;...O
1530: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
1540: 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 20 51  n(LPOLEOBJECT) Q
1550: 75 65 72 79 4f 70 65 6e 3b 0a 09 09 4f 4c 45 53  ueryOpen;...OLES
1560: 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28 4c  TATUS function(L
1570: 50 4f 4c 45 4f 42 4a 45 43 54 29 20 51 75 65 72  POLEOBJECT) Quer
1580: 79 4f 75 74 4f 66 44 61 74 65 3b 0a 09 09 4f 4c  yOutOfDate;...OL
1590: 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e  ESTATUS function
15a0: 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 20 51 75  (LPOLEOBJECT) Qu
15b0: 65 72 79 52 65 6c 65 61 73 65 53 74 61 74 75 73  eryReleaseStatus
15c0: 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20 66 75  ;...OLESTATUS fu
15d0: 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45  nction(LPOLEOBJE
15e0: 43 54 29 20 51 75 65 72 79 52 65 6c 65 61 73 65  CT) QueryRelease
15f0: 45 72 72 6f 72 3b 0a 09 09 4f 4c 45 5f 52 45 4c  Error;...OLE_REL
1600: 45 41 53 45 5f 4d 45 54 48 4f 44 20 66 75 6e 63  EASE_METHOD func
1610: 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  tion(LPOLEOBJECT
1620: 29 20 51 75 65 72 79 52 65 6c 65 61 73 65 4d 65  ) QueryReleaseMe
1630: 74 68 6f 64 3b 0a 09 09 4f 4c 45 53 54 41 54 55  thod;...OLESTATU
1640: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45  S function(LPOLE
1650: 4f 42 4a 45 43 54 2c 20 4f 4c 45 43 4c 49 50 46  OBJECT, OLECLIPF
1660: 4f 52 4d 41 54 29 20 52 65 71 75 65 73 74 44 61  ORMAT) RequestDa
1670: 74 61 3b 0a 09 09 4f 4c 45 53 54 41 54 55 53 20  ta;...OLESTATUS 
1680: 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 4f 42  function(LPOLEOB
1690: 4a 45 43 54 2c 20 55 49 4e 54 2c 20 4c 4f 4e 47  JECT, UINT, LONG
16a0: 2a 29 20 4f 62 6a 65 63 74 4c 6f 6e 67 3b 0a 09  *) ObjectLong;..
16b0: 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74  .OLESTATUS funct
16c0: 69 6f 6e 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c  ion(LPOLEOBJECT,
16d0: 20 48 41 4e 44 4c 45 2c 20 4c 50 4f 4c 45 43 4c   HANDLE, LPOLECL
16e0: 49 45 4e 54 2c 20 42 4f 4f 4c 29 20 43 68 61 6e  IENT, BOOL) Chan
16f0: 67 65 44 61 74 61 3b 0a 2f 2f 23 65 6e 64 69 66  geData;.//#endif
1700: 0a 09 7d 0a 7d 0a 61 6c 69 61 73 20 4f 4c 45 4f  ..}.}.alias OLEO
1710: 42 4a 45 43 54 56 54 42 4c 2a 20 4c 50 4f 4c 45  BJECTVTBL* LPOLE
1720: 4f 42 4a 45 43 54 56 54 42 4c 3b 0a 0a 2f 2f 23  OBJECTVTBL;..//#
1730: 69 66 6e 64 65 66 20 4f 4c 45 5f 49 4e 54 45 52  ifndef OLE_INTER
1740: 4e 41 4c 0a 73 74 72 75 63 74 20 4f 4c 45 4f 42  NAL.struct OLEOB
1750: 4a 45 43 54 20 7b 0a 09 4c 50 4f 4c 45 4f 42 4a  JECT {..LPOLEOBJ
1760: 45 43 54 56 54 42 4c 20 6c 70 76 74 62 6c 3b 0a  ECTVTBL lpvtbl;.
1770: 7d 0a 61 6c 69 61 73 20 4f 4c 45 4f 42 4a 45 43  }.alias OLEOBJEC
1780: 54 2a 20 4c 50 4f 4c 45 4f 42 4a 45 43 54 3b 0a  T* LPOLEOBJECT;.
1790: 2f 2f 23 65 6e 64 69 66 0a 0a 73 74 72 75 63 74  //#endif..struct
17a0: 20 4f 4c 45 43 4c 49 45 4e 54 56 54 42 4c 20 7b   OLECLIENTVTBL {
17b0: 0a 09 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 4c  ..int function(L
17c0: 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4f 4c 45 5f  POLECLIENT, OLE_
17d0: 4e 4f 54 49 46 49 43 41 54 49 4f 4e 2c 20 4c 50  NOTIFICATION, LP
17e0: 4f 4c 45 4f 42 4a 45 43 54 29 20 43 61 6c 6c 42  OLEOBJECT) CallB
17f0: 61 63 6b 3b 0a 7d 0a 61 6c 69 61 73 20 4f 4c 45  ack;.}.alias OLE
1800: 43 4c 49 45 4e 54 56 54 42 4c 2a 20 4c 50 4f 4c  CLIENTVTBL* LPOL
1810: 45 43 4c 49 45 4e 54 56 54 42 4c 3b 0a 0a 73 74  ECLIENTVTBL;..st
1820: 72 75 63 74 20 4f 4c 45 43 4c 49 45 4e 54 20 7b  ruct OLECLIENT {
1830: 0a 09 4c 50 4f 4c 45 43 4c 49 45 4e 54 56 54 42  ..LPOLECLIENTVTB
1840: 4c 20 6c 70 76 74 62 6c 3b 0a 7d 0a 61 6c 69 61  L lpvtbl;.}.alia
1850: 73 20 4f 4c 45 43 4c 49 45 4e 54 2a 20 4c 50 4f  s OLECLIENT* LPO
1860: 4c 45 43 4c 49 45 4e 54 3b 0a 0a 73 74 72 75 63  LECLIENT;..struc
1870: 74 20 4f 4c 45 53 54 52 45 41 4d 56 54 42 4c 20  t OLESTREAMVTBL 
1880: 7b 0a 09 44 57 4f 52 44 20 66 75 6e 63 74 69 6f  {..DWORD functio
1890: 6e 28 4c 50 4f 4c 45 53 54 52 45 41 4d 2c 20 76  n(LPOLESTREAM, v
18a0: 6f 69 64 2a 2c 20 44 57 4f 52 44 29 20 47 65 74  oid*, DWORD) Get
18b0: 3b 0a 09 44 57 4f 52 44 20 66 75 6e 63 74 69 6f  ;..DWORD functio
18c0: 6e 28 4c 50 4f 4c 45 53 54 52 45 41 4d 2c 20 76  n(LPOLESTREAM, v
18d0: 6f 69 64 2a 2c 20 44 57 4f 52 44 29 20 50 75 74  oid*, DWORD) Put
18e0: 3b 0a 7d 0a 61 6c 69 61 73 20 4f 4c 45 53 54 52  ;.}.alias OLESTR
18f0: 45 41 4d 56 54 42 4c 2a 20 4c 50 4f 4c 45 53 54  EAMVTBL* LPOLEST
1900: 52 45 41 4d 56 54 42 4c 3b 0a 0a 73 74 72 75 63  REAMVTBL;..struc
1910: 74 20 4f 4c 45 53 54 52 45 41 4d 20 7b 0a 09 4c  t OLESTREAM {..L
1920: 50 4f 4c 45 53 54 52 45 41 4d 56 54 42 4c 20 6c  POLESTREAMVTBL l
1930: 70 73 74 62 6c 3b 0a 7d 0a 61 6c 69 61 73 20 4f  pstbl;.}.alias O
1940: 4c 45 53 54 52 45 41 4d 2a 20 4c 50 4f 4c 45 53  LESTREAM* LPOLES
1950: 54 52 45 41 4d 3b 0a 0a 65 6e 75 6d 20 4f 4c 45  TREAM;..enum OLE
1960: 5f 53 45 52 56 45 52 5f 55 53 45 20 7b 0a 09 4f  _SERVER_USE {..O
1970: 4c 45 5f 53 45 52 56 45 52 5f 4d 55 4c 54 49 2c  LE_SERVER_MULTI,
1980: 0a 09 4f 4c 45 5f 53 45 52 56 45 52 5f 53 49 4e  ..OLE_SERVER_SIN
1990: 47 4c 45 0a 7d 0a 0a 73 74 72 75 63 74 20 4f 4c  GLE.}..struct OL
19a0: 45 53 45 52 56 45 52 56 54 42 4c 20 7b 0a 09 4f  ESERVERVTBL {..O
19b0: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
19c0: 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52 2c 20 4c  n(LPOLESERVER, L
19d0: 48 53 45 52 56 45 52 44 4f 43 2c 20 4f 4c 45 5f  HSERVERDOC, OLE_
19e0: 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 53 45 52  LPCSTR, LPOLESER
19f0: 56 45 52 44 4f 43 2a 29 0a 09 20 20 4f 70 65 6e  VERDOC*)..  Open
1a00: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e  ;..OLESTATUS fun
1a10: 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45 52 56 45  ction(LPOLESERVE
1a20: 52 2c 20 4c 48 53 45 52 56 45 52 44 4f 43 2c 20  R, LHSERVERDOC, 
1a30: 4f 4c 45 5f 4c 50 43 53 54 52 2c 20 4f 4c 45 5f  OLE_LPCSTR, OLE_
1a40: 4c 50 43 53 54 52 2c 0a 09 20 20 4c 50 4f 4c 45  LPCSTR,..  LPOLE
1a50: 53 45 52 56 45 52 44 4f 43 2a 29 20 43 72 65 61  SERVERDOC*) Crea
1a60: 74 65 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 66  te;..OLESTATUS f
1a70: 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45 52  unction(LPOLESER
1a80: 56 45 52 2c 20 4c 48 53 45 52 56 45 52 44 4f 43  VER, LHSERVERDOC
1a90: 2c 20 4f 4c 45 5f 4c 50 43 53 54 52 2c 20 4f 4c  , OLE_LPCSTR, OL
1aa0: 45 5f 4c 50 43 53 54 52 2c 0a 09 20 20 4f 4c 45  E_LPCSTR,..  OLE
1ab0: 5f 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 53 45  _LPCSTR, LPOLESE
1ac0: 52 56 45 52 44 4f 43 2a 29 20 43 72 65 61 74 65  RVERDOC*) Create
1ad0: 46 72 6f 6d 54 65 6d 70 6c 61 74 65 3b 0a 09 4f  FromTemplate;..O
1ae0: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
1af0: 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52 2c 20 4c  n(LPOLESERVER, L
1b00: 48 53 45 52 56 45 52 44 4f 43 2c 20 4f 4c 45 5f  HSERVERDOC, OLE_
1b10: 4c 50 43 53 54 52 2c 20 4f 4c 45 5f 4c 50 43 53  LPCSTR, OLE_LPCS
1b20: 54 52 2c 0a 09 20 20 4c 50 4f 4c 45 53 45 52 56  TR,..  LPOLESERV
1b30: 45 52 44 4f 43 2a 29 20 45 64 69 74 3b 0a 09 4f  ERDOC*) Edit;..O
1b40: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
1b50: 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52 29 20 45  n(LPOLESERVER) E
1b60: 78 69 74 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20  xit;..OLESTATUS 
1b70: 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45  function(LPOLESE
1b80: 52 56 45 52 29 20 52 65 6c 65 61 73 65 3b 0a 09  RVER) Release;..
1b90: 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69  OLESTATUS functi
1ba0: 6f 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52 2c 20  on(LPOLESERVER, 
1bb0: 48 47 4c 4f 42 41 4c 29 20 45 78 65 63 75 74 65  HGLOBAL) Execute
1bc0: 3b 0a 7d 0a 61 6c 69 61 73 20 4f 4c 45 53 45 52  ;.}.alias OLESER
1bd0: 56 45 52 56 54 42 4c 2a 20 4c 50 4f 4c 45 53 45  VERVTBL* LPOLESE
1be0: 52 56 45 52 56 54 42 4c 3b 0a 0a 73 74 72 75 63  RVERVTBL;..struc
1bf0: 74 20 4f 4c 45 53 45 52 56 45 52 20 7b 0a 09 4c  t OLESERVER {..L
1c00: 50 4f 4c 45 53 45 52 56 45 52 56 54 42 4c 20 6c  POLESERVERVTBL l
1c10: 70 76 74 62 6c 3b 0a 7d 0a 61 6c 69 61 73 20 4f  pvtbl;.}.alias O
1c20: 4c 45 53 45 52 56 45 52 2a 20 4c 50 4f 4c 45 53  LESERVER* LPOLES
1c30: 45 52 56 45 52 3b 0a 0a 73 74 72 75 63 74 20 4f  ERVER;..struct O
1c40: 4c 45 53 45 52 56 45 52 44 4f 43 56 54 42 4c 20  LESERVERDOCVTBL 
1c50: 7b 0a 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e  {..OLESTATUS fun
1c60: 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45 52 56 45  ction(LPOLESERVE
1c70: 52 44 4f 43 29 20 53 61 76 65 3b 0a 09 4f 4c 45  RDOC) Save;..OLE
1c80: 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f 6e 28  STATUS function(
1c90: 4c 50 4f 4c 45 53 45 52 56 45 52 44 4f 43 29 20  LPOLESERVERDOC) 
1ca0: 43 6c 6f 73 65 3b 0a 09 4f 4c 45 53 54 41 54 55  Close;..OLESTATU
1cb0: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45  S function(LPOLE
1cc0: 53 45 52 56 45 52 44 4f 43 2c 20 4f 4c 45 5f 4c  SERVERDOC, OLE_L
1cd0: 50 43 53 54 52 2c 20 4f 4c 45 5f 4c 50 43 53 54  PCSTR, OLE_LPCST
1ce0: 52 29 20 53 65 74 48 6f 73 74 4e 61 6d 65 73 3b  R) SetHostNames;
1cf0: 0a 09 4f 4c 45 53 54 41 54 55 53 20 66 75 6e 63  ..OLESTATUS func
1d00: 74 69 6f 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52  tion(LPOLESERVER
1d10: 44 4f 43 2c 20 52 45 43 54 2a 29 20 53 65 74 44  DOC, RECT*) SetD
1d20: 6f 63 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 09 4f  ocDimensions;..O
1d30: 4c 45 53 54 41 54 55 53 20 66 75 6e 63 74 69 6f  LESTATUS functio
1d40: 6e 28 4c 50 4f 4c 45 53 45 52 56 45 52 44 4f 43  n(LPOLESERVERDOC
1d50: 2c 20 4f 4c 45 5f 4c 50 43 53 54 52 2c 20 4c 50  , OLE_LPCSTR, LP
1d60: 4f 4c 45 4f 42 4a 45 43 54 2a 2c 20 4c 50 4f 4c  OLEOBJECT*, LPOL
1d70: 45 43 4c 49 45 4e 54 29 0a 09 20 20 47 65 74 4f  ECLIENT)..  GetO
1d80: 62 6a 65 63 74 3b 0a 09 4f 4c 45 53 54 41 54 55  bject;..OLESTATU
1d90: 53 20 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45  S function(LPOLE
1da0: 53 45 52 56 45 52 44 4f 43 29 20 52 65 6c 65 61  SERVERDOC) Relea
1db0: 73 65 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 66  se;..OLESTATUS f
1dc0: 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45 52  unction(LPOLESER
1dd0: 56 45 52 44 4f 43 2c 20 4c 4f 47 50 41 4c 45 54  VERDOC, LOGPALET
1de0: 54 45 2a 29 20 53 65 74 43 6f 6c 6f 72 53 63 68  TE*) SetColorSch
1df0: 65 6d 65 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20  eme;..OLESTATUS 
1e00: 66 75 6e 63 74 69 6f 6e 28 4c 50 4f 4c 45 53 45  function(LPOLESE
1e10: 52 56 45 52 44 4f 43 2c 20 48 47 4c 4f 42 41 4c  RVERDOC, HGLOBAL
1e20: 29 20 45 78 65 63 75 74 65 3b 0a 7d 0a 61 6c 69  ) Execute;.}.ali
1e30: 61 73 20 4f 4c 45 53 45 52 56 45 52 44 4f 43 56  as OLESERVERDOCV
1e40: 54 42 4c 2a 20 4c 50 4f 4c 45 53 45 52 56 45 52  TBL* LPOLESERVER
1e50: 44 4f 43 56 54 42 4c 3b 0a 0a 73 74 72 75 63 74  DOCVTBL;..struct
1e60: 20 4f 4c 45 53 45 52 56 45 52 44 4f 43 20 7b 0a   OLESERVERDOC {.
1e70: 09 4c 50 4f 4c 45 53 45 52 56 45 52 44 4f 43 56  .LPOLESERVERDOCV
1e80: 54 42 4c 20 6c 70 76 74 62 6c 3b 0a 7d 0a 61 6c  TBL lpvtbl;.}.al
1e90: 69 61 73 20 4f 4c 45 53 45 52 56 45 52 44 4f 43  ias OLESERVERDOC
1ea0: 2a 20 4c 50 4f 4c 45 53 45 52 56 45 52 44 4f 43  * LPOLESERVERDOC
1eb0: 3b 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f  ;..extern (Windo
1ec0: 77 73 29 20 7b 0a 09 4f 4c 45 53 54 41 54 55 53  ws) {..OLESTATUS
1ed0: 20 4f 6c 65 44 65 6c 65 74 65 28 4c 50 4f 4c 45   OleDelete(LPOLE
1ee0: 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c 45 53 54 41  OBJECT);..OLESTA
1ef0: 54 55 53 20 4f 6c 65 52 65 6c 65 61 73 65 28 4c  TUS OleRelease(L
1f00: 50 4f 4c 45 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c  POLEOBJECT);..OL
1f10: 45 53 54 41 54 55 53 20 4f 6c 65 53 61 76 65 54  ESTATUS OleSaveT
1f20: 6f 53 74 72 65 61 6d 28 4c 50 4f 4c 45 4f 42 4a  oStream(LPOLEOBJ
1f30: 45 43 54 2c 20 4c 50 4f 4c 45 53 54 52 45 41 4d  ECT, LPOLESTREAM
1f40: 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c  );..OLESTATUS Ol
1f50: 65 45 71 75 61 6c 28 4c 50 4f 4c 45 4f 42 4a 45  eEqual(LPOLEOBJE
1f60: 43 54 2c 20 4c 50 4f 4c 45 4f 42 4a 45 43 54 29  CT, LPOLEOBJECT)
1f70: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
1f80: 43 6f 70 79 54 6f 43 6c 69 70 62 6f 61 72 64 28  CopyToClipboard(
1f90: 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 3b 0a 09 4f  LPOLEOBJECT);..O
1fa0: 4c 45 53 54 41 54 55 53 20 4f 6c 65 53 65 74 48  LESTATUS OleSetH
1fb0: 6f 73 74 4e 61 6d 65 73 28 4c 50 4f 4c 45 4f 42  ostNames(LPOLEOB
1fc0: 4a 45 43 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  JECT, LPCSTR, LP
1fd0: 43 53 54 52 29 3b 0a 09 4f 4c 45 53 54 41 54 55  CSTR);..OLESTATU
1fe0: 53 20 4f 6c 65 53 65 74 54 61 72 67 65 74 44 65  S OleSetTargetDe
1ff0: 76 69 63 65 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  vice(LPOLEOBJECT
2000: 2c 20 48 47 4c 4f 42 41 4c 29 3b 0a 09 4f 4c 45  , HGLOBAL);..OLE
2010: 53 54 41 54 55 53 20 4f 6c 65 53 65 74 42 6f 75  STATUS OleSetBou
2020: 6e 64 73 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c  nds(LPOLEOBJECT,
2030: 20 4c 50 43 52 45 43 54 29 3b 0a 09 4f 4c 45 53   LPCRECT);..OLES
2040: 54 41 54 55 53 20 4f 6c 65 53 65 74 43 6f 6c 6f  TATUS OleSetColo
2050: 72 53 63 68 65 6d 65 28 4c 50 4f 4c 45 4f 42 4a  rScheme(LPOLEOBJ
2060: 45 43 54 2c 20 43 50 74 72 21 28 4c 4f 47 50 41  ECT, CPtr!(LOGPA
2070: 4c 45 54 54 45 29 29 3b 0a 09 4f 4c 45 53 54 41  LETTE));..OLESTA
2080: 54 55 53 20 4f 6c 65 51 75 65 72 79 42 6f 75 6e  TUS OleQueryBoun
2090: 64 73 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20  ds(LPOLEOBJECT, 
20a0: 52 45 43 54 2a 29 3b 0a 09 4f 4c 45 53 54 41 54  RECT*);..OLESTAT
20b0: 55 53 20 4f 6c 65 51 75 65 72 79 53 69 7a 65 28  US OleQuerySize(
20c0: 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 44 57 4f  LPOLEOBJECT, DWO
20d0: 52 44 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53  RD*);..OLESTATUS
20e0: 20 4f 6c 65 44 72 61 77 28 4c 50 4f 4c 45 4f 42   OleDraw(LPOLEOB
20f0: 4a 45 43 54 2c 20 48 44 43 2c 20 4c 50 43 52 45  JECT, HDC, LPCRE
2100: 43 54 2c 20 4c 50 43 52 45 43 54 2c 20 48 44 43  CT, LPCRECT, HDC
2110: 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c  );..OLESTATUS Ol
2120: 65 51 75 65 72 79 4f 70 65 6e 28 4c 50 4f 4c 45  eQueryOpen(LPOLE
2130: 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c 45 53 54 41  OBJECT);..OLESTA
2140: 54 55 53 20 4f 6c 65 41 63 74 69 76 61 74 65 28  TUS OleActivate(
2150: 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 55 49 4e  LPOLEOBJECT, UIN
2160: 54 2c 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 2c 20 48  T, BOOL, BOOL, H
2170: 57 4e 44 2c 20 4c 50 43 52 45 43 54 29 3b 0a 09  WND, LPCRECT);..
2180: 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 45 78 65  OLESTATUS OleExe
2190: 63 75 74 65 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  cute(LPOLEOBJECT
21a0: 2c 20 48 47 4c 4f 42 41 4c 2c 20 55 49 4e 54 29  , HGLOBAL, UINT)
21b0: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
21c0: 43 6c 6f 73 65 28 4c 50 4f 4c 45 4f 42 4a 45 43  Close(LPOLEOBJEC
21d0: 54 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f  T);..OLESTATUS O
21e0: 6c 65 55 70 64 61 74 65 28 4c 50 4f 4c 45 4f 42  leUpdate(LPOLEOB
21f0: 4a 45 43 54 29 3b 0a 09 4f 4c 45 53 54 41 54 55  JECT);..OLESTATU
2200: 53 20 4f 6c 65 52 65 63 6f 6e 6e 65 63 74 28 4c  S OleReconnect(L
2210: 50 4f 4c 45 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c  POLEOBJECT);..OL
2220: 45 53 54 41 54 55 53 20 4f 6c 65 47 65 74 4c 69  ESTATUS OleGetLi
2230: 6e 6b 55 70 64 61 74 65 4f 70 74 69 6f 6e 73 28  nkUpdateOptions(
2240: 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f 4c 45  LPOLEOBJECT, OLE
2250: 4f 50 54 5f 55 50 44 41 54 45 2a 29 3b 0a 09 4f  OPT_UPDATE*);..O
2260: 4c 45 53 54 41 54 55 53 20 4f 6c 65 53 65 74 4c  LESTATUS OleSetL
2270: 69 6e 6b 55 70 64 61 74 65 4f 70 74 69 6f 6e 73  inkUpdateOptions
2280: 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f 4c  (LPOLEOBJECT, OL
2290: 45 4f 50 54 5f 55 50 44 41 54 45 29 3b 0a 09 76  EOPT_UPDATE);..v
22a0: 6f 69 64 2a 20 4f 6c 65 51 75 65 72 79 50 72 6f  oid* OleQueryPro
22b0: 74 6f 63 6f 6c 28 4c 50 4f 4c 45 4f 42 4a 45 43  tocol(LPOLEOBJEC
22c0: 54 2c 20 4c 50 43 53 54 52 29 3b 0a 09 4f 4c 45  T, LPCSTR);..OLE
22d0: 53 54 41 54 55 53 20 4f 6c 65 51 75 65 72 79 52  STATUS OleQueryR
22e0: 65 6c 65 61 73 65 53 74 61 74 75 73 28 4c 50 4f  eleaseStatus(LPO
22f0: 4c 45 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c 45 53  LEOBJECT);..OLES
2300: 54 41 54 55 53 20 4f 6c 65 51 75 65 72 79 52 65  TATUS OleQueryRe
2310: 6c 65 61 73 65 45 72 72 6f 72 28 4c 50 4f 4c 45  leaseError(LPOLE
2320: 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c 45 5f 52 45  OBJECT);..OLE_RE
2330: 4c 45 41 53 45 5f 4d 45 54 48 4f 44 20 4f 6c 65  LEASE_METHOD Ole
2340: 51 75 65 72 79 52 65 6c 65 61 73 65 4d 65 74 68  QueryReleaseMeth
2350: 6f 64 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 29 3b  od(LPOLEOBJECT);
2360: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 51  ..OLESTATUS OleQ
2370: 75 65 72 79 54 79 70 65 28 4c 50 4f 4c 45 4f 42  ueryType(LPOLEOB
2380: 4a 45 43 54 2c 20 4c 4f 4e 47 2a 29 3b 0a 09 44  JECT, LONG*);..D
2390: 57 4f 52 44 20 4f 6c 65 51 75 65 72 79 43 6c 69  WORD OleQueryCli
23a0: 65 6e 74 56 65 72 73 69 6f 6e 28 29 3b 0a 09 44  entVersion();..D
23b0: 57 4f 52 44 20 4f 6c 65 51 75 65 72 79 53 65 72  WORD OleQuerySer
23c0: 76 65 72 56 65 72 73 69 6f 6e 28 29 3b 0a 09 4f  verVersion();..O
23d0: 4c 45 43 4c 49 50 46 4f 52 4d 41 54 20 4f 6c 65  LECLIPFORMAT Ole
23e0: 45 6e 75 6d 46 6f 72 6d 61 74 73 28 4c 50 4f 4c  EnumFormats(LPOL
23f0: 45 4f 42 4a 45 43 54 2c 20 4f 4c 45 43 4c 49 50  EOBJECT, OLECLIP
2400: 46 4f 52 4d 41 54 29 3b 0a 09 4f 4c 45 53 54 41  FORMAT);..OLESTA
2410: 54 55 53 20 4f 6c 65 47 65 74 44 61 74 61 28 4c  TUS OleGetData(L
2420: 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4f 4c 45 43  POLEOBJECT, OLEC
2430: 4c 49 50 46 4f 52 4d 41 54 2c 20 48 41 4e 44 4c  LIPFORMAT, HANDL
2440: 45 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20  E*);..OLESTATUS 
2450: 4f 6c 65 53 65 74 44 61 74 61 28 4c 50 4f 4c 45  OleSetData(LPOLE
2460: 4f 42 4a 45 43 54 2c 20 4f 4c 45 43 4c 49 50 46  OBJECT, OLECLIPF
2470: 4f 52 4d 41 54 2c 20 48 41 4e 44 4c 45 29 3b 0a  ORMAT, HANDLE);.
2480: 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 51 75  .OLESTATUS OleQu
2490: 65 72 79 4f 75 74 4f 66 44 61 74 65 28 4c 50 4f  eryOutOfDate(LPO
24a0: 4c 45 4f 42 4a 45 43 54 29 3b 0a 09 4f 4c 45 53  LEOBJECT);..OLES
24b0: 54 41 54 55 53 20 4f 6c 65 52 65 71 75 65 73 74  TATUS OleRequest
24c0: 44 61 74 61 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  Data(LPOLEOBJECT
24d0: 2c 20 4f 4c 45 43 4c 49 50 46 4f 52 4d 41 54 29  , OLECLIPFORMAT)
24e0: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
24f0: 51 75 65 72 79 4c 69 6e 6b 46 72 6f 6d 43 6c 69  QueryLinkFromCli
2500: 70 28 4c 50 43 53 54 52 2c 20 4f 4c 45 4f 50 54  p(LPCSTR, OLEOPT
2510: 5f 52 45 4e 44 45 52 2c 20 4f 4c 45 43 4c 49 50  _RENDER, OLECLIP
2520: 46 4f 52 4d 41 54 29 3b 0a 09 4f 4c 45 53 54 41  FORMAT);..OLESTA
2530: 54 55 53 20 4f 6c 65 51 75 65 72 79 43 72 65 61  TUS OleQueryCrea
2540: 74 65 46 72 6f 6d 43 6c 69 70 28 4c 50 43 53 54  teFromClip(LPCST
2550: 52 2c 20 4f 4c 45 4f 50 54 5f 52 45 4e 44 45 52  R, OLEOPT_RENDER
2560: 2c 20 4f 4c 45 43 4c 49 50 46 4f 52 4d 41 54 29  , OLECLIPFORMAT)
2570: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
2580: 43 72 65 61 74 65 46 72 6f 6d 43 6c 69 70 28 4c  CreateFromClip(L
2590: 50 43 53 54 52 2c 20 4c 50 4f 4c 45 43 4c 49 45  PCSTR, LPOLECLIE
25a0: 4e 54 2c 20 4c 48 43 4c 49 45 4e 54 44 4f 43 2c  NT, LHCLIENTDOC,
25b0: 20 4c 50 43 53 54 52 2c 0a 09 20 20 4c 50 4f 4c   LPCSTR,..  LPOL
25c0: 45 4f 42 4a 45 43 54 2a 2c 20 4f 4c 45 4f 50 54  EOBJECT*, OLEOPT
25d0: 5f 52 45 4e 44 45 52 2c 20 4f 4c 45 43 4c 49 50  _RENDER, OLECLIP
25e0: 46 4f 52 4d 41 54 29 3b 0a 09 4f 4c 45 53 54 41  FORMAT);..OLESTA
25f0: 54 55 53 20 4f 6c 65 43 72 65 61 74 65 4c 69 6e  TUS OleCreateLin
2600: 6b 46 72 6f 6d 43 6c 69 70 28 4c 50 43 53 54 52  kFromClip(LPCSTR
2610: 2c 20 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c  , LPOLECLIENT, L
2620: 48 43 4c 49 45 4e 54 44 4f 43 2c 20 4c 50 43 53  HCLIENTDOC, LPCS
2630: 54 52 2c 0a 09 20 20 4c 50 4f 4c 45 4f 42 4a 45  TR,..  LPOLEOBJE
2640: 43 54 2a 2c 20 4f 4c 45 4f 50 54 5f 52 45 4e 44  CT*, OLEOPT_REND
2650: 45 52 2c 20 4f 4c 45 43 4c 49 50 46 4f 52 4d 41  ER, OLECLIPFORMA
2660: 54 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f  T);..OLESTATUS O
2670: 6c 65 43 72 65 61 74 65 46 72 6f 6d 46 69 6c 65  leCreateFromFile
2680: 28 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 43 4c  (LPCSTR, LPOLECL
2690: 49 45 4e 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  IENT, LPCSTR, LP
26a0: 43 53 54 52 2c 0a 09 20 20 4c 48 43 4c 49 45 4e  CSTR,..  LHCLIEN
26b0: 54 44 4f 43 2c 20 4c 50 43 53 54 52 2c 20 4c 50  TDOC, LPCSTR, LP
26c0: 4f 4c 45 4f 42 4a 45 43 54 2a 2c 20 4f 4c 45 4f  OLEOBJECT*, OLEO
26d0: 50 54 5f 52 45 4e 44 45 52 2c 20 4f 4c 45 43 4c  PT_RENDER, OLECL
26e0: 49 50 46 4f 52 4d 41 54 29 3b 0a 09 4f 4c 45 53  IPFORMAT);..OLES
26f0: 54 41 54 55 53 20 4f 6c 65 43 72 65 61 74 65 4c  TATUS OleCreateL
2700: 69 6e 6b 46 72 6f 6d 46 69 6c 65 28 4c 50 43 53  inkFromFile(LPCS
2710: 54 52 2c 20 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c  TR, LPOLECLIENT,
2720: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c   LPCSTR, LPCSTR,
2730: 0a 09 20 20 4c 50 43 53 54 52 2c 20 4c 48 43 4c  ..  LPCSTR, LHCL
2740: 49 45 4e 54 44 4f 43 2c 20 4c 50 43 53 54 52 2c  IENTDOC, LPCSTR,
2750: 20 4c 50 4f 4c 45 4f 42 4a 45 43 54 2a 2c 20 4f   LPOLEOBJECT*, O
2760: 4c 45 4f 50 54 5f 52 45 4e 44 45 52 2c 20 4f 4c  LEOPT_RENDER, OL
2770: 45 43 4c 49 50 46 4f 52 4d 41 54 29 3b 0a 09 4f  ECLIPFORMAT);..O
2780: 4c 45 53 54 41 54 55 53 20 4f 6c 65 4c 6f 61 64  LESTATUS OleLoad
2790: 46 72 6f 6d 53 74 72 65 61 6d 28 4c 50 4f 4c 45  FromStream(LPOLE
27a0: 53 54 52 45 41 4d 2c 20 4c 50 43 53 54 52 2c 20  STREAM, LPCSTR, 
27b0: 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 48 43  LPOLECLIENT, LHC
27c0: 4c 49 45 4e 54 44 4f 43 2c 0a 09 20 20 4c 50 43  LIENTDOC,..  LPC
27d0: 53 54 52 2c 20 4c 50 4f 4c 45 4f 42 4a 45 43 54  STR, LPOLEOBJECT
27e0: 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f  *);..OLESTATUS O
27f0: 6c 65 43 72 65 61 74 65 28 4c 50 43 53 54 52 2c  leCreate(LPCSTR,
2800: 20 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 50   LPOLECLIENT, LP
2810: 43 53 54 52 2c 20 4c 48 43 4c 49 45 4e 54 44 4f  CSTR, LHCLIENTDO
2820: 43 2c 20 4c 50 43 53 54 52 2c 0a 09 20 20 4c 50  C, LPCSTR,..  LP
2830: 4f 4c 45 4f 42 4a 45 43 54 2a 2c 20 4f 4c 45 4f  OLEOBJECT*, OLEO
2840: 50 54 5f 52 45 4e 44 45 52 2c 20 4f 4c 45 43 4c  PT_RENDER, OLECL
2850: 49 50 46 4f 52 4d 41 54 29 3b 0a 09 4f 4c 45 53  IPFORMAT);..OLES
2860: 54 41 54 55 53 20 4f 6c 65 43 72 65 61 74 65 49  TATUS OleCreateI
2870: 6e 76 69 73 69 62 6c 65 28 4c 50 43 53 54 52 2c  nvisible(LPCSTR,
2880: 20 4c 50 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 50   LPOLECLIENT, LP
2890: 43 53 54 52 2c 20 4c 48 43 4c 49 45 4e 54 44 4f  CSTR, LHCLIENTDO
28a0: 43 2c 0a 09 20 20 4c 50 43 53 54 52 2c 20 4c 50  C,..  LPCSTR, LP
28b0: 4f 4c 45 4f 42 4a 45 43 54 2a 2c 20 4f 4c 45 4f  OLEOBJECT*, OLEO
28c0: 50 54 5f 52 45 4e 44 45 52 2c 20 4f 4c 45 43 4c  PT_RENDER, OLECL
28d0: 49 50 46 4f 52 4d 41 54 2c 20 42 4f 4f 4c 29 3b  IPFORMAT, BOOL);
28e0: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 43  ..OLESTATUS OleC
28f0: 72 65 61 74 65 46 72 6f 6d 54 65 6d 70 6c 61 74  reateFromTemplat
2900: 65 28 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 43  e(LPCSTR, LPOLEC
2910: 4c 49 45 4e 54 2c 20 4c 50 43 53 54 52 2c 20 4c  LIENT, LPCSTR, L
2920: 48 43 4c 49 45 4e 54 44 4f 43 2c 0a 09 20 20 4c  HCLIENTDOC,..  L
2930: 50 43 53 54 52 2c 20 4c 50 4f 4c 45 4f 42 4a 45  PCSTR, LPOLEOBJE
2940: 43 54 2a 2c 20 4f 4c 45 4f 50 54 5f 52 45 4e 44  CT*, OLEOPT_REND
2950: 45 52 2c 20 4f 4c 45 43 4c 49 50 46 4f 52 4d 41  ER, OLECLIPFORMA
2960: 54 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f  T);..OLESTATUS O
2970: 6c 65 43 6c 6f 6e 65 28 4c 50 4f 4c 45 4f 42 4a  leClone(LPOLEOBJ
2980: 45 43 54 2c 20 4c 50 4f 4c 45 43 4c 49 45 4e 54  ECT, LPOLECLIENT
2990: 2c 20 4c 48 43 4c 49 45 4e 54 44 4f 43 2c 20 4c  , LHCLIENTDOC, L
29a0: 50 43 53 54 52 2c 0a 09 20 20 4c 50 4f 4c 45 4f  PCSTR,..  LPOLEO
29b0: 42 4a 45 43 54 2a 29 3b 0a 09 4f 4c 45 53 54 41  BJECT*);..OLESTA
29c0: 54 55 53 20 4f 6c 65 43 6f 70 79 46 72 6f 6d 4c  TUS OleCopyFromL
29d0: 69 6e 6b 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c  ink(LPOLEOBJECT,
29e0: 20 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 43 4c   LPCSTR, LPOLECL
29f0: 49 45 4e 54 2c 20 4c 48 43 4c 49 45 4e 54 44 4f  IENT, LHCLIENTDO
2a00: 43 2c 0a 09 20 20 4c 50 43 53 54 52 2c 20 4c 50  C,..  LPCSTR, LP
2a10: 4f 4c 45 4f 42 4a 45 43 54 2a 29 3b 0a 09 4f 4c  OLEOBJECT*);..OL
2a20: 45 53 54 41 54 55 53 20 4f 6c 65 4f 62 6a 65 63  ESTATUS OleObjec
2a30: 74 43 6f 6e 76 65 72 74 28 4c 50 4f 4c 45 4f 42  tConvert(LPOLEOB
2a40: 4a 45 43 54 2c 20 4c 50 43 53 54 52 2c 20 4c 50  JECT, LPCSTR, LP
2a50: 4f 4c 45 43 4c 49 45 4e 54 2c 20 4c 48 43 4c 49  OLECLIENT, LHCLI
2a60: 45 4e 54 44 4f 43 2c 0a 09 20 20 4c 50 43 53 54  ENTDOC,..  LPCST
2a70: 52 2c 20 4c 50 4f 4c 45 4f 42 4a 45 43 54 2a 29  R, LPOLEOBJECT*)
2a80: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
2a90: 52 65 6e 61 6d 65 28 4c 50 4f 4c 45 4f 42 4a 45  Rename(LPOLEOBJE
2aa0: 43 54 2c 20 4c 50 43 53 54 52 29 3b 0a 09 4f 4c  CT, LPCSTR);..OL
2ab0: 45 53 54 41 54 55 53 20 4f 6c 65 51 75 65 72 79  ESTATUS OleQuery
2ac0: 4e 61 6d 65 28 4c 50 4f 4c 45 4f 42 4a 45 43 54  Name(LPOLEOBJECT
2ad0: 2c 20 4c 50 53 54 52 2c 20 55 49 4e 54 2a 29 3b  , LPSTR, UINT*);
2ae0: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 52  ..OLESTATUS OleR
2af0: 65 76 6f 6b 65 4f 62 6a 65 63 74 28 4c 50 4f 4c  evokeObject(LPOL
2b00: 45 43 4c 49 45 4e 54 29 3b 0a 09 42 4f 4f 4c 20  ECLIENT);..BOOL 
2b10: 4f 6c 65 49 73 44 63 4d 65 74 61 28 48 44 43 29  OleIsDcMeta(HDC)
2b20: 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65  ;..OLESTATUS Ole
2b30: 52 65 67 69 73 74 65 72 43 6c 69 65 6e 74 44 6f  RegisterClientDo
2b40: 63 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52  c(LPCSTR, LPCSTR
2b50: 2c 20 4c 4f 4e 47 2c 20 4c 48 43 4c 49 45 4e 54  , LONG, LHCLIENT
2b60: 44 4f 43 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55  DOC*);..OLESTATU
2b70: 53 20 4f 6c 65 52 65 76 6f 6b 65 43 6c 69 65 6e  S OleRevokeClien
2b80: 74 44 6f 63 28 4c 48 43 4c 49 45 4e 54 44 4f 43  tDoc(LHCLIENTDOC
2b90: 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c  );..OLESTATUS Ol
2ba0: 65 52 65 6e 61 6d 65 43 6c 69 65 6e 74 44 6f 63  eRenameClientDoc
2bb0: 28 4c 48 43 4c 49 45 4e 54 44 4f 43 2c 20 4c 50  (LHCLIENTDOC, LP
2bc0: 43 53 54 52 29 3b 0a 09 4f 4c 45 53 54 41 54 55  CSTR);..OLESTATU
2bd0: 53 20 4f 6c 65 52 65 76 65 72 74 43 6c 69 65 6e  S OleRevertClien
2be0: 74 44 6f 63 28 4c 48 43 4c 49 45 4e 54 44 4f 43  tDoc(LHCLIENTDOC
2bf0: 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c  );..OLESTATUS Ol
2c00: 65 53 61 76 65 64 43 6c 69 65 6e 74 44 6f 63 28  eSavedClientDoc(
2c10: 4c 48 43 4c 49 45 4e 54 44 4f 43 29 3b 0a 09 4f  LHCLIENTDOC);..O
2c20: 4c 45 53 54 41 54 55 53 20 4f 6c 65 45 6e 75 6d  LESTATUS OleEnum
2c30: 4f 62 6a 65 63 74 73 28 4c 48 43 4c 49 45 4e 54  Objects(LHCLIENT
2c40: 44 4f 43 2c 20 4c 50 4f 4c 45 4f 42 4a 45 43 54  DOC, LPOLEOBJECT
2c50: 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f  *);..OLESTATUS O
2c60: 6c 65 52 65 67 69 73 74 65 72 53 65 72 76 65 72  leRegisterServer
2c70: 28 4c 50 43 53 54 52 2c 20 4c 50 4f 4c 45 53 45  (LPCSTR, LPOLESE
2c80: 52 56 45 52 2c 20 4c 48 53 45 52 56 45 52 2a 2c  RVER, LHSERVER*,
2c90: 20 48 49 4e 53 54 41 4e 43 45 2c 0a 09 20 20 4f   HINSTANCE,..  O
2ca0: 4c 45 5f 53 45 52 56 45 52 5f 55 53 45 29 3b 0a  LE_SERVER_USE);.
2cb0: 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 52 65  .OLESTATUS OleRe
2cc0: 76 6f 6b 65 53 65 72 76 65 72 28 4c 48 53 45 52  vokeServer(LHSER
2cd0: 56 45 52 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53  VER);..OLESTATUS
2ce0: 20 4f 6c 65 42 6c 6f 63 6b 53 65 72 76 65 72 28   OleBlockServer(
2cf0: 4c 48 53 45 52 56 45 52 29 3b 0a 09 4f 4c 45 53  LHSERVER);..OLES
2d00: 54 41 54 55 53 20 4f 6c 65 55 6e 62 6c 6f 63 6b  TATUS OleUnblock
2d10: 53 65 72 76 65 72 28 4c 48 53 45 52 56 45 52 2c  Server(LHSERVER,
2d20: 20 42 4f 4f 4c 2a 29 3b 0a 09 4f 4c 45 53 54 41   BOOL*);..OLESTA
2d30: 54 55 53 20 4f 6c 65 4c 6f 63 6b 53 65 72 76 65  TUS OleLockServe
2d40: 72 28 4c 50 4f 4c 45 4f 42 4a 45 43 54 2c 20 4c  r(LPOLEOBJECT, L
2d50: 48 53 45 52 56 45 52 2a 29 3b 0a 09 4f 4c 45 53  HSERVER*);..OLES
2d60: 54 41 54 55 53 20 4f 6c 65 55 6e 6c 6f 63 6b 53  TATUS OleUnlockS
2d70: 65 72 76 65 72 28 4c 48 53 45 52 56 45 52 29 3b  erver(LHSERVER);
2d80: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 52  ..OLESTATUS OleR
2d90: 65 67 69 73 74 65 72 53 65 72 76 65 72 44 6f 63  egisterServerDoc
2da0: 28 4c 48 53 45 52 56 45 52 2c 20 4c 50 43 53 54  (LHSERVER, LPCST
2db0: 52 2c 20 4c 50 4f 4c 45 53 45 52 56 45 52 44 4f  R, LPOLESERVERDO
2dc0: 43 2c 0a 09 20 20 4c 48 53 45 52 56 45 52 44 4f  C,..  LHSERVERDO
2dd0: 43 2a 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20  C*);..OLESTATUS 
2de0: 4f 6c 65 52 65 76 6f 6b 65 53 65 72 76 65 72 44  OleRevokeServerD
2df0: 6f 63 28 4c 48 53 45 52 56 45 52 44 4f 43 29 3b  oc(LHSERVERDOC);
2e00: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 52  ..OLESTATUS OleR
2e10: 65 6e 61 6d 65 53 65 72 76 65 72 44 6f 63 28 4c  enameServerDoc(L
2e20: 48 53 45 52 56 45 52 44 4f 43 2c 20 4c 50 43 53  HSERVERDOC, LPCS
2e30: 54 52 29 3b 0a 09 4f 4c 45 53 54 41 54 55 53 20  TR);..OLESTATUS 
2e40: 4f 6c 65 52 65 76 65 72 74 53 65 72 76 65 72 44  OleRevertServerD
2e50: 6f 63 28 4c 48 53 45 52 56 45 52 44 4f 43 29 3b  oc(LHSERVERDOC);
2e60: 0a 09 4f 4c 45 53 54 41 54 55 53 20 4f 6c 65 53  ..OLESTATUS OleS
2e70: 61 76 65 64 53 65 72 76 65 72 44 6f 63 28 4c 48  avedServerDoc(LH
2e80: 53 45 52 56 45 52 44 4f 43 29 3b 0a 7d 0a        SERVERDOC);.}.