This file is indexed.

/usr/i686-w64-mingw32/include/oleidl.h is in mingw-w64-i686-dev 2.0.3-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the w64 mingw-runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error This stub requires an updated version of <rpcndr.h>
#endif

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif

#ifndef __oleidl_h__
#define __oleidl_h__

#ifndef __IOleAdviseHolder_FWD_DEFINED__
#define __IOleAdviseHolder_FWD_DEFINED__
typedef struct IOleAdviseHolder IOleAdviseHolder;
#endif

#ifndef __IOleCache_FWD_DEFINED__
#define __IOleCache_FWD_DEFINED__
typedef struct IOleCache IOleCache;
#endif

#ifndef __IOleCache2_FWD_DEFINED__
#define __IOleCache2_FWD_DEFINED__
typedef struct IOleCache2 IOleCache2;
#endif

#ifndef __IOleCacheControl_FWD_DEFINED__
#define __IOleCacheControl_FWD_DEFINED__
typedef struct IOleCacheControl IOleCacheControl;
#endif

#ifndef __IParseDisplayName_FWD_DEFINED__
#define __IParseDisplayName_FWD_DEFINED__
typedef struct IParseDisplayName IParseDisplayName;
#endif

#ifndef __IOleContainer_FWD_DEFINED__
#define __IOleContainer_FWD_DEFINED__
typedef struct IOleContainer IOleContainer;
#endif

#ifndef __IOleClientSite_FWD_DEFINED__
#define __IOleClientSite_FWD_DEFINED__
typedef struct IOleClientSite IOleClientSite;
#endif

#ifndef __IOleObject_FWD_DEFINED__
#define __IOleObject_FWD_DEFINED__
typedef struct IOleObject IOleObject;
#endif

#ifndef __IOleWindow_FWD_DEFINED__
#define __IOleWindow_FWD_DEFINED__
typedef struct IOleWindow IOleWindow;
#endif

#ifndef __IOleLink_FWD_DEFINED__
#define __IOleLink_FWD_DEFINED__
typedef struct IOleLink IOleLink;
#endif

#ifndef __IOleItemContainer_FWD_DEFINED__
#define __IOleItemContainer_FWD_DEFINED__
typedef struct IOleItemContainer IOleItemContainer;
#endif

#ifndef __IOleInPlaceUIWindow_FWD_DEFINED__
#define __IOleInPlaceUIWindow_FWD_DEFINED__
typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
#endif

#ifndef __IOleInPlaceActiveObject_FWD_DEFINED__
#define __IOleInPlaceActiveObject_FWD_DEFINED__
typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
#endif

#ifndef __IOleInPlaceFrame_FWD_DEFINED__
#define __IOleInPlaceFrame_FWD_DEFINED__
typedef struct IOleInPlaceFrame IOleInPlaceFrame;
#endif

#ifndef __IOleInPlaceObject_FWD_DEFINED__
#define __IOleInPlaceObject_FWD_DEFINED__
typedef struct IOleInPlaceObject IOleInPlaceObject;
#endif

#ifndef __IOleInPlaceSite_FWD_DEFINED__
#define __IOleInPlaceSite_FWD_DEFINED__
typedef struct IOleInPlaceSite IOleInPlaceSite;
#endif

#ifndef __IContinue_FWD_DEFINED__
#define __IContinue_FWD_DEFINED__
typedef struct IContinue IContinue;
#endif

#ifndef __IViewObject_FWD_DEFINED__
#define __IViewObject_FWD_DEFINED__
typedef struct IViewObject IViewObject;
#endif

#ifndef __IViewObject2_FWD_DEFINED__
#define __IViewObject2_FWD_DEFINED__
typedef struct IViewObject2 IViewObject2;
#endif

#ifndef __IDropSource_FWD_DEFINED__
#define __IDropSource_FWD_DEFINED__
typedef struct IDropSource IDropSource;
#endif

#ifndef __IDropTarget_FWD_DEFINED__
#define __IDropTarget_FWD_DEFINED__
typedef struct IDropTarget IDropTarget;
#endif

#ifndef __IEnumOLEVERB_FWD_DEFINED__
#define __IEnumOLEVERB_FWD_DEFINED__
typedef struct IEnumOLEVERB IEnumOLEVERB;
#endif

#include "objidl.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __MIDL_user_allocate_free_DEFINED__
#define __MIDL_user_allocate_free_DEFINED__
  void *__RPC_API MIDL_user_allocate(size_t);
  void __RPC_API MIDL_user_free(void *);
#endif

  extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_v0_0_c_ifspec;
  extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_v0_0_s_ifspec;

#ifndef __IOleAdviseHolder_INTERFACE_DEFINED__
#define __IOleAdviseHolder_INTERFACE_DEFINED__

  typedef IOleAdviseHolder *LPOLEADVISEHOLDER;
  EXTERN_C const IID IID_IOleAdviseHolder;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleAdviseHolder : public IUnknown {
  public:
    virtual HRESULT WINAPI Advise(IAdviseSink *pAdvise,DWORD *pdwConnection) = 0;
    virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;
    virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;
    virtual HRESULT WINAPI SendOnRename(IMoniker *pmk) = 0;
    virtual HRESULT WINAPI SendOnSave(void) = 0;
    virtual HRESULT WINAPI SendOnClose(void) = 0;
  };
#else
  typedef struct IOleAdviseHolderVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleAdviseHolder *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleAdviseHolder *This);
      ULONG (WINAPI *Release)(IOleAdviseHolder *This);
      HRESULT (WINAPI *Advise)(IOleAdviseHolder *This,IAdviseSink *pAdvise,DWORD *pdwConnection);
      HRESULT (WINAPI *Unadvise)(IOleAdviseHolder *This,DWORD dwConnection);
      HRESULT (WINAPI *EnumAdvise)(IOleAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
      HRESULT (WINAPI *SendOnRename)(IOleAdviseHolder *This,IMoniker *pmk);
      HRESULT (WINAPI *SendOnSave)(IOleAdviseHolder *This);
      HRESULT (WINAPI *SendOnClose)(IOleAdviseHolder *This);
    END_INTERFACE
  } IOleAdviseHolderVtbl;
  struct IOleAdviseHolder {
    CONST_VTBL struct IOleAdviseHolderVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
#define IOleAdviseHolder_Advise(This,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pAdvise,pdwConnection)
#define IOleAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
#define IOleAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
#define IOleAdviseHolder_SendOnRename(This,pmk) (This)->lpVtbl->SendOnRename(This,pmk)
#define IOleAdviseHolder_SendOnSave(This) (This)->lpVtbl->SendOnSave(This)
#define IOleAdviseHolder_SendOnClose(This) (This)->lpVtbl->SendOnClose(This)
#endif
#endif
  HRESULT WINAPI IOleAdviseHolder_Advise_Proxy(IOleAdviseHolder *This,IAdviseSink *pAdvise,DWORD *pdwConnection);
  void __RPC_STUB IOleAdviseHolder_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleAdviseHolder_Unadvise_Proxy(IOleAdviseHolder *This,DWORD dwConnection);
  void __RPC_STUB IOleAdviseHolder_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleAdviseHolder_EnumAdvise_Proxy(IOleAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
  void __RPC_STUB IOleAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleAdviseHolder_SendOnRename_Proxy(IOleAdviseHolder *This,IMoniker *pmk);
  void __RPC_STUB IOleAdviseHolder_SendOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleAdviseHolder_SendOnSave_Proxy(IOleAdviseHolder *This);
  void __RPC_STUB IOleAdviseHolder_SendOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleAdviseHolder_SendOnClose_Proxy(IOleAdviseHolder *This);
  void __RPC_STUB IOleAdviseHolder_SendOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleCache_INTERFACE_DEFINED__
#define __IOleCache_INTERFACE_DEFINED__
  typedef IOleCache *LPOLECACHE;

  EXTERN_C const IID IID_IOleCache;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleCache : public IUnknown {
  public:
    virtual HRESULT WINAPI Cache(FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection) = 0;
    virtual HRESULT WINAPI Uncache(DWORD dwConnection) = 0;
    virtual HRESULT WINAPI EnumCache(IEnumSTATDATA **ppenumSTATDATA) = 0;
    virtual HRESULT WINAPI InitCache(IDataObject *pDataObject) = 0;
    virtual HRESULT WINAPI SetData(FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) = 0;
  };
#else
  typedef struct IOleCacheVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleCache *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleCache *This);
      ULONG (WINAPI *Release)(IOleCache *This);
      HRESULT (WINAPI *Cache)(IOleCache *This,FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection);
      HRESULT (WINAPI *Uncache)(IOleCache *This,DWORD dwConnection);
      HRESULT (WINAPI *EnumCache)(IOleCache *This,IEnumSTATDATA **ppenumSTATDATA);
      HRESULT (WINAPI *InitCache)(IOleCache *This,IDataObject *pDataObject);
      HRESULT (WINAPI *SetData)(IOleCache *This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease);
    END_INTERFACE
  } IOleCacheVtbl;
  struct IOleCache {
    CONST_VTBL struct IOleCacheVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleCache_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleCache_Release(This) (This)->lpVtbl->Release(This)
#define IOleCache_Cache(This,pformatetc,advf,pdwConnection) (This)->lpVtbl->Cache(This,pformatetc,advf,pdwConnection)
#define IOleCache_Uncache(This,dwConnection) (This)->lpVtbl->Uncache(This,dwConnection)
#define IOleCache_EnumCache(This,ppenumSTATDATA) (This)->lpVtbl->EnumCache(This,ppenumSTATDATA)
#define IOleCache_InitCache(This,pDataObject) (This)->lpVtbl->InitCache(This,pDataObject)
#define IOleCache_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
#endif
#endif
  HRESULT WINAPI IOleCache_Cache_Proxy(IOleCache *This,FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection);
  void __RPC_STUB IOleCache_Cache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCache_Uncache_Proxy(IOleCache *This,DWORD dwConnection);
  void __RPC_STUB IOleCache_Uncache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCache_EnumCache_Proxy(IOleCache *This,IEnumSTATDATA **ppenumSTATDATA);
  void __RPC_STUB IOleCache_EnumCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCache_InitCache_Proxy(IOleCache *This,IDataObject *pDataObject);
  void __RPC_STUB IOleCache_InitCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCache_SetData_Proxy(IOleCache *This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease);
  void __RPC_STUB IOleCache_SetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleCache2_INTERFACE_DEFINED__
#define __IOleCache2_INTERFACE_DEFINED__
  typedef IOleCache2 *LPOLECACHE2;

#define UPDFCACHE_NODATACACHE (0x1)
#define UPDFCACHE_ONSAVECACHE (0x2)
#define UPDFCACHE_ONSTOPCACHE (0x4)
#define UPDFCACHE_NORMALCACHE (0x8)
#define UPDFCACHE_IFBLANK (0x10)
#define UPDFCACHE_ONLYIFBLANK (0x80000000)
#define UPDFCACHE_IFBLANKORONSAVECACHE (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE)
#define UPDFCACHE_ALL ((DWORD)~UPDFCACHE_ONLYIFBLANK)
#define UPDFCACHE_ALLBUTNODATACACHE (UPDFCACHE_ALL & (DWORD)~UPDFCACHE_NODATACACHE)

  typedef enum tagDISCARDCACHE {
    DISCARDCACHE_SAVEIFDIRTY = 0,DISCARDCACHE_NOSAVE = 1
  } DISCARDCACHE;

  EXTERN_C const IID IID_IOleCache2;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleCache2 : public IOleCache {
  public:
    virtual HRESULT WINAPI UpdateCache(LPDATAOBJECT pDataObject,DWORD grfUpdf,LPVOID pReserved) = 0;
    virtual HRESULT WINAPI DiscardCache(DWORD dwDiscardOptions) = 0;
  };
#else
  typedef struct IOleCache2Vtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleCache2 *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleCache2 *This);
      ULONG (WINAPI *Release)(IOleCache2 *This);
      HRESULT (WINAPI *Cache)(IOleCache2 *This,FORMATETC *pformatetc,DWORD advf,DWORD *pdwConnection);
      HRESULT (WINAPI *Uncache)(IOleCache2 *This,DWORD dwConnection);
      HRESULT (WINAPI *EnumCache)(IOleCache2 *This,IEnumSTATDATA **ppenumSTATDATA);
      HRESULT (WINAPI *InitCache)(IOleCache2 *This,IDataObject *pDataObject);
      HRESULT (WINAPI *SetData)(IOleCache2 *This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease);
      HRESULT (WINAPI *UpdateCache)(IOleCache2 *This,LPDATAOBJECT pDataObject,DWORD grfUpdf,LPVOID pReserved);
      HRESULT (WINAPI *DiscardCache)(IOleCache2 *This,DWORD dwDiscardOptions);
    END_INTERFACE
  } IOleCache2Vtbl;
  struct IOleCache2 {
    CONST_VTBL struct IOleCache2Vtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleCache2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleCache2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleCache2_Release(This) (This)->lpVtbl->Release(This)
#define IOleCache2_Cache(This,pformatetc,advf,pdwConnection) (This)->lpVtbl->Cache(This,pformatetc,advf,pdwConnection)
#define IOleCache2_Uncache(This,dwConnection) (This)->lpVtbl->Uncache(This,dwConnection)
#define IOleCache2_EnumCache(This,ppenumSTATDATA) (This)->lpVtbl->EnumCache(This,ppenumSTATDATA)
#define IOleCache2_InitCache(This,pDataObject) (This)->lpVtbl->InitCache(This,pDataObject)
#define IOleCache2_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
#define IOleCache2_UpdateCache(This,pDataObject,grfUpdf,pReserved) (This)->lpVtbl->UpdateCache(This,pDataObject,grfUpdf,pReserved)
#define IOleCache2_DiscardCache(This,dwDiscardOptions) (This)->lpVtbl->DiscardCache(This,dwDiscardOptions)
#endif
#endif
  HRESULT WINAPI IOleCache2_RemoteUpdateCache_Proxy(IOleCache2 *This,LPDATAOBJECT pDataObject,DWORD grfUpdf,LONG_PTR pReserved);
  void __RPC_STUB IOleCache2_RemoteUpdateCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCache2_DiscardCache_Proxy(IOleCache2 *This,DWORD dwDiscardOptions);
  void __RPC_STUB IOleCache2_DiscardCache_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleCacheControl_INTERFACE_DEFINED__
#define __IOleCacheControl_INTERFACE_DEFINED__
  typedef IOleCacheControl *LPOLECACHECONTROL;
  EXTERN_C const IID IID_IOleCacheControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleCacheControl : public IUnknown {
  public:
    virtual HRESULT WINAPI OnRun(LPDATAOBJECT pDataObject) = 0;
    virtual HRESULT WINAPI OnStop(void) = 0;
  };
#else
  typedef struct IOleCacheControlVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleCacheControl *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleCacheControl *This);
      ULONG (WINAPI *Release)(IOleCacheControl *This);
      HRESULT (WINAPI *OnRun)(IOleCacheControl *This,LPDATAOBJECT pDataObject);
      HRESULT (WINAPI *OnStop)(IOleCacheControl *This);
    END_INTERFACE
  } IOleCacheControlVtbl;
  struct IOleCacheControl {
    CONST_VTBL struct IOleCacheControlVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleCacheControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleCacheControl_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleCacheControl_Release(This) (This)->lpVtbl->Release(This)
#define IOleCacheControl_OnRun(This,pDataObject) (This)->lpVtbl->OnRun(This,pDataObject)
#define IOleCacheControl_OnStop(This) (This)->lpVtbl->OnStop(This)
#endif
#endif
  HRESULT WINAPI IOleCacheControl_OnRun_Proxy(IOleCacheControl *This,LPDATAOBJECT pDataObject);
  void __RPC_STUB IOleCacheControl_OnRun_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleCacheControl_OnStop_Proxy(IOleCacheControl *This);
  void __RPC_STUB IOleCacheControl_OnStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IParseDisplayName_INTERFACE_DEFINED__
#define __IParseDisplayName_INTERFACE_DEFINED__
  typedef IParseDisplayName *LPPARSEDISPLAYNAME;

  EXTERN_C const IID IID_IParseDisplayName;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IParseDisplayName : public IUnknown {
  public:
    virtual HRESULT WINAPI ParseDisplayName(IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) = 0;
  };
#else
  typedef struct IParseDisplayNameVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IParseDisplayName *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IParseDisplayName *This);
      ULONG (WINAPI *Release)(IParseDisplayName *This);
      HRESULT (WINAPI *ParseDisplayName)(IParseDisplayName *This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut);
    END_INTERFACE
  } IParseDisplayNameVtbl;
  struct IParseDisplayName {
    CONST_VTBL struct IParseDisplayNameVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IParseDisplayName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IParseDisplayName_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IParseDisplayName_Release(This) (This)->lpVtbl->Release(This)
#define IParseDisplayName_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
#endif
#endif
  HRESULT WINAPI IParseDisplayName_ParseDisplayName_Proxy(IParseDisplayName *This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut);
  void __RPC_STUB IParseDisplayName_ParseDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleContainer_INTERFACE_DEFINED__
#define __IOleContainer_INTERFACE_DEFINED__
  typedef IOleContainer *LPOLECONTAINER;

  EXTERN_C const IID IID_IOleContainer;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleContainer : public IParseDisplayName {
  public:
    virtual HRESULT WINAPI EnumObjects(DWORD grfFlags,IEnumUnknown **ppenum) = 0;
    virtual HRESULT WINAPI LockContainer(WINBOOL fLock) = 0;
  };
#else
  typedef struct IOleContainerVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleContainer *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleContainer *This);
      ULONG (WINAPI *Release)(IOleContainer *This);
      HRESULT (WINAPI *ParseDisplayName)(IOleContainer *This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut);
      HRESULT (WINAPI *EnumObjects)(IOleContainer *This,DWORD grfFlags,IEnumUnknown **ppenum);
      HRESULT (WINAPI *LockContainer)(IOleContainer *This,WINBOOL fLock);
    END_INTERFACE
  } IOleContainerVtbl;
  struct IOleContainer {
    CONST_VTBL struct IOleContainerVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleContainer_Release(This) (This)->lpVtbl->Release(This)
#define IOleContainer_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
#define IOleContainer_EnumObjects(This,grfFlags,ppenum) (This)->lpVtbl->EnumObjects(This,grfFlags,ppenum)
#define IOleContainer_LockContainer(This,fLock) (This)->lpVtbl->LockContainer(This,fLock)
#endif
#endif
  HRESULT WINAPI IOleContainer_EnumObjects_Proxy(IOleContainer *This,DWORD grfFlags,IEnumUnknown **ppenum);
  void __RPC_STUB IOleContainer_EnumObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleContainer_LockContainer_Proxy(IOleContainer *This,WINBOOL fLock);
  void __RPC_STUB IOleContainer_LockContainer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleClientSite_INTERFACE_DEFINED__
#define __IOleClientSite_INTERFACE_DEFINED__
  typedef IOleClientSite *LPOLECLIENTSITE;

  EXTERN_C const IID IID_IOleClientSite;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleClientSite : public IUnknown {
  public:
    virtual HRESULT WINAPI SaveObject(void) = 0;
    virtual HRESULT WINAPI GetMoniker(DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk) = 0;
    virtual HRESULT WINAPI GetContainer(IOleContainer **ppContainer) = 0;
    virtual HRESULT WINAPI ShowObject(void) = 0;
    virtual HRESULT WINAPI OnShowWindow(WINBOOL fShow) = 0;
    virtual HRESULT WINAPI RequestNewObjectLayout(void) = 0;
  };
#else
  typedef struct IOleClientSiteVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleClientSite *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleClientSite *This);
      ULONG (WINAPI *Release)(IOleClientSite *This);
      HRESULT (WINAPI *SaveObject)(IOleClientSite *This);
      HRESULT (WINAPI *GetMoniker)(IOleClientSite *This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk);
      HRESULT (WINAPI *GetContainer)(IOleClientSite *This,IOleContainer **ppContainer);
      HRESULT (WINAPI *ShowObject)(IOleClientSite *This);
      HRESULT (WINAPI *OnShowWindow)(IOleClientSite *This,WINBOOL fShow);
      HRESULT (WINAPI *RequestNewObjectLayout)(IOleClientSite *This);
    END_INTERFACE
  } IOleClientSiteVtbl;
  struct IOleClientSite {
    CONST_VTBL struct IOleClientSiteVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleClientSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleClientSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleClientSite_Release(This) (This)->lpVtbl->Release(This)
#define IOleClientSite_SaveObject(This) (This)->lpVtbl->SaveObject(This)
#define IOleClientSite_GetMoniker(This,dwAssign,dwWhichMoniker,ppmk) (This)->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk)
#define IOleClientSite_GetContainer(This,ppContainer) (This)->lpVtbl->GetContainer(This,ppContainer)
#define IOleClientSite_ShowObject(This) (This)->lpVtbl->ShowObject(This)
#define IOleClientSite_OnShowWindow(This,fShow) (This)->lpVtbl->OnShowWindow(This,fShow)
#define IOleClientSite_RequestNewObjectLayout(This) (This)->lpVtbl->RequestNewObjectLayout(This)
#endif
#endif
  HRESULT WINAPI IOleClientSite_SaveObject_Proxy(IOleClientSite *This);
  void __RPC_STUB IOleClientSite_SaveObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleClientSite_GetMoniker_Proxy(IOleClientSite *This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk);
  void __RPC_STUB IOleClientSite_GetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleClientSite_GetContainer_Proxy(IOleClientSite *This,IOleContainer **ppContainer);
  void __RPC_STUB IOleClientSite_GetContainer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleClientSite_ShowObject_Proxy(IOleClientSite *This);
  void __RPC_STUB IOleClientSite_ShowObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleClientSite_OnShowWindow_Proxy(IOleClientSite *This,WINBOOL fShow);
  void __RPC_STUB IOleClientSite_OnShowWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleClientSite_RequestNewObjectLayout_Proxy(IOleClientSite *This);
  void __RPC_STUB IOleClientSite_RequestNewObjectLayout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleObject_INTERFACE_DEFINED__
#define __IOleObject_INTERFACE_DEFINED__
#ifndef _LPOLEOBJECT_DEFINED
#define _LPOLEOBJECT_DEFINED
  typedef IOleObject *LPOLEOBJECT;
#endif

  typedef enum tagOLEGETMONIKER {
    OLEGETMONIKER_ONLYIFTHERE = 1,OLEGETMONIKER_FORCEASSIGN = 2,OLEGETMONIKER_UNASSIGN = 3,OLEGETMONIKER_TEMPFORUSER = 4
  } OLEGETMONIKER;
  typedef enum tagOLEWHICHMK {
    OLEWHICHMK_CONTAINER = 1,OLEWHICHMK_OBJREL = 2,OLEWHICHMK_OBJFULL = 3
  } OLEWHICHMK;

  typedef enum tagUSERCLASSTYPE {
    USERCLASSTYPE_FULL = 1,USERCLASSTYPE_SHORT = 2,USERCLASSTYPE_APPNAME = 3
  } USERCLASSTYPE;

  typedef enum tagOLEMISC {
    OLEMISC_RECOMPOSEONRESIZE = 0x1,OLEMISC_ONLYICONIC = 0x2,OLEMISC_INSERTNOTREPLACE = 0x4,OLEMISC_STATIC = 0x8,OLEMISC_CANTLINKINSIDE = 0x10,
    OLEMISC_CANLINKBYOLE1 = 0x20,OLEMISC_ISLINKOBJECT = 0x40,OLEMISC_INSIDEOUT = 0x80,OLEMISC_ACTIVATEWHENVISIBLE = 0x100,
    OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200,OLEMISC_INVISIBLEATRUNTIME = 0x400,OLEMISC_ALWAYSRUN = 0x800,OLEMISC_ACTSLIKEBUTTON = 0x1000,
    OLEMISC_ACTSLIKELABEL = 0x2000,OLEMISC_NOUIACTIVATE = 0x4000,OLEMISC_ALIGNABLE = 0x8000,OLEMISC_SIMPLEFRAME = 0x10000,
    OLEMISC_SETCLIENTSITEFIRST = 0x20000,OLEMISC_IMEMODE = 0x40000,OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000,OLEMISC_WANTSTOMENUMERGE = 0x100000,
    OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000
  } OLEMISC;
  typedef enum tagOLECLOSE {
    OLECLOSE_SAVEIFDIRTY = 0,OLECLOSE_NOSAVE = 1,OLECLOSE_PROMPTSAVE = 2
  } OLECLOSE;

  EXTERN_C const IID IID_IOleObject;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleObject : public IUnknown {
  public:
    virtual HRESULT WINAPI SetClientSite(IOleClientSite *pClientSite) = 0;
    virtual HRESULT WINAPI GetClientSite(IOleClientSite **ppClientSite) = 0;
    virtual HRESULT WINAPI SetHostNames(LPCOLESTR szContainerApp,LPCOLESTR szContainerObj) = 0;
    virtual HRESULT WINAPI Close(DWORD dwSaveOption) = 0;
    virtual HRESULT WINAPI SetMoniker(DWORD dwWhichMoniker,IMoniker *pmk) = 0;
    virtual HRESULT WINAPI GetMoniker(DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk) = 0;
    virtual HRESULT WINAPI InitFromData(IDataObject *pDataObject,WINBOOL fCreation,DWORD dwReserved) = 0;
    virtual HRESULT WINAPI GetClipboardData(DWORD dwReserved,IDataObject **ppDataObject) = 0;
    virtual HRESULT WINAPI DoVerb(LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex,HWND hwndParent,LPCRECT lprcPosRect) = 0;
    virtual HRESULT WINAPI EnumVerbs(IEnumOLEVERB **ppEnumOleVerb) = 0;
    virtual HRESULT WINAPI Update(void) = 0;
    virtual HRESULT WINAPI IsUpToDate(void) = 0;
    virtual HRESULT WINAPI GetUserClassID(CLSID *pClsid) = 0;
    virtual HRESULT WINAPI GetUserType(DWORD dwFormOfType,LPOLESTR *pszUserType) = 0;
    virtual HRESULT WINAPI SetExtent(DWORD dwDrawAspect,SIZEL *psizel) = 0;
    virtual HRESULT WINAPI GetExtent(DWORD dwDrawAspect,SIZEL *psizel) = 0;
    virtual HRESULT WINAPI Advise(IAdviseSink *pAdvSink,DWORD *pdwConnection) = 0;
    virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;
    virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;
    virtual HRESULT WINAPI GetMiscStatus(DWORD dwAspect,DWORD *pdwStatus) = 0;
    virtual HRESULT WINAPI SetColorScheme(LOGPALETTE *pLogpal) = 0;
  };
#else
  typedef struct IOleObjectVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleObject *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleObject *This);
      ULONG (WINAPI *Release)(IOleObject *This);
      HRESULT (WINAPI *SetClientSite)(IOleObject *This,IOleClientSite *pClientSite);
      HRESULT (WINAPI *GetClientSite)(IOleObject *This,IOleClientSite **ppClientSite);
      HRESULT (WINAPI *SetHostNames)(IOleObject *This,LPCOLESTR szContainerApp,LPCOLESTR szContainerObj);
      HRESULT (WINAPI *Close)(IOleObject *This,DWORD dwSaveOption);
      HRESULT (WINAPI *SetMoniker)(IOleObject *This,DWORD dwWhichMoniker,IMoniker *pmk);
      HRESULT (WINAPI *GetMoniker)(IOleObject *This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk);
      HRESULT (WINAPI *InitFromData)(IOleObject *This,IDataObject *pDataObject,WINBOOL fCreation,DWORD dwReserved);
      HRESULT (WINAPI *GetClipboardData)(IOleObject *This,DWORD dwReserved,IDataObject **ppDataObject);
      HRESULT (WINAPI *DoVerb)(IOleObject *This,LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex,HWND hwndParent,LPCRECT lprcPosRect);
      HRESULT (WINAPI *EnumVerbs)(IOleObject *This,IEnumOLEVERB **ppEnumOleVerb);
      HRESULT (WINAPI *Update)(IOleObject *This);
      HRESULT (WINAPI *IsUpToDate)(IOleObject *This);
      HRESULT (WINAPI *GetUserClassID)(IOleObject *This,CLSID *pClsid);
      HRESULT (WINAPI *GetUserType)(IOleObject *This,DWORD dwFormOfType,LPOLESTR *pszUserType);
      HRESULT (WINAPI *SetExtent)(IOleObject *This,DWORD dwDrawAspect,SIZEL *psizel);
      HRESULT (WINAPI *GetExtent)(IOleObject *This,DWORD dwDrawAspect,SIZEL *psizel);
      HRESULT (WINAPI *Advise)(IOleObject *This,IAdviseSink *pAdvSink,DWORD *pdwConnection);
      HRESULT (WINAPI *Unadvise)(IOleObject *This,DWORD dwConnection);
      HRESULT (WINAPI *EnumAdvise)(IOleObject *This,IEnumSTATDATA **ppenumAdvise);
      HRESULT (WINAPI *GetMiscStatus)(IOleObject *This,DWORD dwAspect,DWORD *pdwStatus);
      HRESULT (WINAPI *SetColorScheme)(IOleObject *This,LOGPALETTE *pLogpal);
    END_INTERFACE
  } IOleObjectVtbl;
  struct IOleObject {
    CONST_VTBL struct IOleObjectVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleObject_Release(This) (This)->lpVtbl->Release(This)
#define IOleObject_SetClientSite(This,pClientSite) (This)->lpVtbl->SetClientSite(This,pClientSite)
#define IOleObject_GetClientSite(This,ppClientSite) (This)->lpVtbl->GetClientSite(This,ppClientSite)
#define IOleObject_SetHostNames(This,szContainerApp,szContainerObj) (This)->lpVtbl->SetHostNames(This,szContainerApp,szContainerObj)
#define IOleObject_Close(This,dwSaveOption) (This)->lpVtbl->Close(This,dwSaveOption)
#define IOleObject_SetMoniker(This,dwWhichMoniker,pmk) (This)->lpVtbl->SetMoniker(This,dwWhichMoniker,pmk)
#define IOleObject_GetMoniker(This,dwAssign,dwWhichMoniker,ppmk) (This)->lpVtbl->GetMoniker(This,dwAssign,dwWhichMoniker,ppmk)
#define IOleObject_InitFromData(This,pDataObject,fCreation,dwReserved) (This)->lpVtbl->InitFromData(This,pDataObject,fCreation,dwReserved)
#define IOleObject_GetClipboardData(This,dwReserved,ppDataObject) (This)->lpVtbl->GetClipboardData(This,dwReserved,ppDataObject)
#define IOleObject_DoVerb(This,iVerb,lpmsg,pActiveSite,lindex,hwndParent,lprcPosRect) (This)->lpVtbl->DoVerb(This,iVerb,lpmsg,pActiveSite,lindex,hwndParent,lprcPosRect)
#define IOleObject_EnumVerbs(This,ppEnumOleVerb) (This)->lpVtbl->EnumVerbs(This,ppEnumOleVerb)
#define IOleObject_Update(This) (This)->lpVtbl->Update(This)
#define IOleObject_IsUpToDate(This) (This)->lpVtbl->IsUpToDate(This)
#define IOleObject_GetUserClassID(This,pClsid) (This)->lpVtbl->GetUserClassID(This,pClsid)
#define IOleObject_GetUserType(This,dwFormOfType,pszUserType) (This)->lpVtbl->GetUserType(This,dwFormOfType,pszUserType)
#define IOleObject_SetExtent(This,dwDrawAspect,psizel) (This)->lpVtbl->SetExtent(This,dwDrawAspect,psizel)
#define IOleObject_GetExtent(This,dwDrawAspect,psizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,psizel)
#define IOleObject_Advise(This,pAdvSink,pdwConnection) (This)->lpVtbl->Advise(This,pAdvSink,pdwConnection)
#define IOleObject_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
#define IOleObject_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
#define IOleObject_GetMiscStatus(This,dwAspect,pdwStatus) (This)->lpVtbl->GetMiscStatus(This,dwAspect,pdwStatus)
#define IOleObject_SetColorScheme(This,pLogpal) (This)->lpVtbl->SetColorScheme(This,pLogpal)
#endif
#endif
  HRESULT WINAPI IOleObject_SetClientSite_Proxy(IOleObject *This,IOleClientSite *pClientSite);
  void __RPC_STUB IOleObject_SetClientSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetClientSite_Proxy(IOleObject *This,IOleClientSite **ppClientSite);
  void __RPC_STUB IOleObject_GetClientSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_SetHostNames_Proxy(IOleObject *This,LPCOLESTR szContainerApp,LPCOLESTR szContainerObj);
  void __RPC_STUB IOleObject_SetHostNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_Close_Proxy(IOleObject *This,DWORD dwSaveOption);
  void __RPC_STUB IOleObject_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_SetMoniker_Proxy(IOleObject *This,DWORD dwWhichMoniker,IMoniker *pmk);
  void __RPC_STUB IOleObject_SetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetMoniker_Proxy(IOleObject *This,DWORD dwAssign,DWORD dwWhichMoniker,IMoniker **ppmk);
  void __RPC_STUB IOleObject_GetMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_InitFromData_Proxy(IOleObject *This,IDataObject *pDataObject,WINBOOL fCreation,DWORD dwReserved);
  void __RPC_STUB IOleObject_InitFromData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetClipboardData_Proxy(IOleObject *This,DWORD dwReserved,IDataObject **ppDataObject);
  void __RPC_STUB IOleObject_GetClipboardData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_DoVerb_Proxy(IOleObject *This,LONG iVerb,LPMSG lpmsg,IOleClientSite *pActiveSite,LONG lindex,HWND hwndParent,LPCRECT lprcPosRect);
  void __RPC_STUB IOleObject_DoVerb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_EnumVerbs_Proxy(IOleObject *This,IEnumOLEVERB **ppEnumOleVerb);
  void __RPC_STUB IOleObject_EnumVerbs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_Update_Proxy(IOleObject *This);
  void __RPC_STUB IOleObject_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_IsUpToDate_Proxy(IOleObject *This);
  void __RPC_STUB IOleObject_IsUpToDate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetUserClassID_Proxy(IOleObject *This,CLSID *pClsid);
  void __RPC_STUB IOleObject_GetUserClassID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetUserType_Proxy(IOleObject *This,DWORD dwFormOfType,LPOLESTR *pszUserType);
  void __RPC_STUB IOleObject_GetUserType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_SetExtent_Proxy(IOleObject *This,DWORD dwDrawAspect,SIZEL *psizel);
  void __RPC_STUB IOleObject_SetExtent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetExtent_Proxy(IOleObject *This,DWORD dwDrawAspect,SIZEL *psizel);
  void __RPC_STUB IOleObject_GetExtent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_Advise_Proxy(IOleObject *This,IAdviseSink *pAdvSink,DWORD *pdwConnection);
  void __RPC_STUB IOleObject_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_Unadvise_Proxy(IOleObject *This,DWORD dwConnection);
  void __RPC_STUB IOleObject_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_EnumAdvise_Proxy(IOleObject *This,IEnumSTATDATA **ppenumAdvise);
  void __RPC_STUB IOleObject_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_GetMiscStatus_Proxy(IOleObject *This,DWORD dwAspect,DWORD *pdwStatus);
  void __RPC_STUB IOleObject_GetMiscStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleObject_SetColorScheme_Proxy(IOleObject *This,LOGPALETTE *pLogpal);
  void __RPC_STUB IOleObject_SetColorScheme_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOLETypes_INTERFACE_DEFINED__
#define __IOLETypes_INTERFACE_DEFINED__
  typedef enum tagOLERENDER {
    OLERENDER_NONE = 0,OLERENDER_DRAW = 1,OLERENDER_FORMAT = 2,OLERENDER_ASIS = 3
  } OLERENDER;

  typedef OLERENDER *LPOLERENDER;

  typedef struct tagOBJECTDESCRIPTOR {
    ULONG cbSize;
    CLSID clsid;
    DWORD dwDrawAspect;
    SIZEL sizel;
    POINTL pointl;
    DWORD dwStatus;
    DWORD dwFullUserTypeName;
    DWORD dwSrcOfCopy;
  } OBJECTDESCRIPTOR;

  typedef struct tagOBJECTDESCRIPTOR *POBJECTDESCRIPTOR;
  typedef struct tagOBJECTDESCRIPTOR *LPOBJECTDESCRIPTOR;
  typedef struct tagOBJECTDESCRIPTOR LINKSRCDESCRIPTOR;
  typedef struct tagOBJECTDESCRIPTOR *PLINKSRCDESCRIPTOR;
  typedef struct tagOBJECTDESCRIPTOR *LPLINKSRCDESCRIPTOR;

  extern RPC_IF_HANDLE IOLETypes_v0_0_c_ifspec;
  extern RPC_IF_HANDLE IOLETypes_v0_0_s_ifspec;
#endif

#ifndef __IOleWindow_INTERFACE_DEFINED__
#define __IOleWindow_INTERFACE_DEFINED__
  typedef IOleWindow *LPOLEWINDOW;

  EXTERN_C const IID IID_IOleWindow;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleWindow : public IUnknown {
  public:
    virtual HRESULT WINAPI GetWindow(HWND *phwnd) = 0;
    virtual HRESULT WINAPI ContextSensitiveHelp(WINBOOL fEnterMode) = 0;
  };
#else
  typedef struct IOleWindowVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleWindow *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleWindow *This);
      ULONG (WINAPI *Release)(IOleWindow *This);
      HRESULT (WINAPI *GetWindow)(IOleWindow *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleWindow *This,WINBOOL fEnterMode);
    END_INTERFACE
  } IOleWindowVtbl;
  struct IOleWindow {
    CONST_VTBL struct IOleWindowVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleWindow_Release(This) (This)->lpVtbl->Release(This)
#define IOleWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#endif
#endif
  HRESULT WINAPI IOleWindow_GetWindow_Proxy(IOleWindow *This,HWND *phwnd);
  void __RPC_STUB IOleWindow_GetWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleWindow_ContextSensitiveHelp_Proxy(IOleWindow *This,WINBOOL fEnterMode);
  void __RPC_STUB IOleWindow_ContextSensitiveHelp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleLink_INTERFACE_DEFINED__
#define __IOleLink_INTERFACE_DEFINED__
  typedef IOleLink *LPOLELINK;

  typedef enum tagOLEUPDATE {
    OLEUPDATE_ALWAYS = 1,OLEUPDATE_ONCALL = 3
  } OLEUPDATE;

  typedef OLEUPDATE *LPOLEUPDATE;
  typedef OLEUPDATE *POLEUPDATE;

  typedef enum tagOLELINKBIND {
    OLELINKBIND_EVENIFCLASSDIFF = 1
  } OLELINKBIND;

  EXTERN_C const IID IID_IOleLink;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleLink : public IUnknown {
  public:
    virtual HRESULT WINAPI SetUpdateOptions(DWORD dwUpdateOpt) = 0;
    virtual HRESULT WINAPI GetUpdateOptions(DWORD *pdwUpdateOpt) = 0;
    virtual HRESULT WINAPI SetSourceMoniker(IMoniker *pmk,REFCLSID rclsid) = 0;
    virtual HRESULT WINAPI GetSourceMoniker(IMoniker **ppmk) = 0;
    virtual HRESULT WINAPI SetSourceDisplayName(LPCOLESTR pszStatusText) = 0;
    virtual HRESULT WINAPI GetSourceDisplayName(LPOLESTR *ppszDisplayName) = 0;
    virtual HRESULT WINAPI BindToSource(DWORD bindflags,IBindCtx *pbc) = 0;
    virtual HRESULT WINAPI BindIfRunning(void) = 0;
    virtual HRESULT WINAPI GetBoundSource(IUnknown **ppunk) = 0;
    virtual HRESULT WINAPI UnbindSource(void) = 0;
    virtual HRESULT WINAPI Update(IBindCtx *pbc) = 0;
  };
#else
  typedef struct IOleLinkVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleLink *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleLink *This);
      ULONG (WINAPI *Release)(IOleLink *This);
      HRESULT (WINAPI *SetUpdateOptions)(IOleLink *This,DWORD dwUpdateOpt);
      HRESULT (WINAPI *GetUpdateOptions)(IOleLink *This,DWORD *pdwUpdateOpt);
      HRESULT (WINAPI *SetSourceMoniker)(IOleLink *This,IMoniker *pmk,REFCLSID rclsid);
      HRESULT (WINAPI *GetSourceMoniker)(IOleLink *This,IMoniker **ppmk);
      HRESULT (WINAPI *SetSourceDisplayName)(IOleLink *This,LPCOLESTR pszStatusText);
      HRESULT (WINAPI *GetSourceDisplayName)(IOleLink *This,LPOLESTR *ppszDisplayName);
      HRESULT (WINAPI *BindToSource)(IOleLink *This,DWORD bindflags,IBindCtx *pbc);
      HRESULT (WINAPI *BindIfRunning)(IOleLink *This);
      HRESULT (WINAPI *GetBoundSource)(IOleLink *This,IUnknown **ppunk);
      HRESULT (WINAPI *UnbindSource)(IOleLink *This);
      HRESULT (WINAPI *Update)(IOleLink *This,IBindCtx *pbc);
    END_INTERFACE
  } IOleLinkVtbl;
  struct IOleLink {
    CONST_VTBL struct IOleLinkVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleLink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleLink_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleLink_Release(This) (This)->lpVtbl->Release(This)
#define IOleLink_SetUpdateOptions(This,dwUpdateOpt) (This)->lpVtbl->SetUpdateOptions(This,dwUpdateOpt)
#define IOleLink_GetUpdateOptions(This,pdwUpdateOpt) (This)->lpVtbl->GetUpdateOptions(This,pdwUpdateOpt)
#define IOleLink_SetSourceMoniker(This,pmk,rclsid) (This)->lpVtbl->SetSourceMoniker(This,pmk,rclsid)
#define IOleLink_GetSourceMoniker(This,ppmk) (This)->lpVtbl->GetSourceMoniker(This,ppmk)
#define IOleLink_SetSourceDisplayName(This,pszStatusText) (This)->lpVtbl->SetSourceDisplayName(This,pszStatusText)
#define IOleLink_GetSourceDisplayName(This,ppszDisplayName) (This)->lpVtbl->GetSourceDisplayName(This,ppszDisplayName)
#define IOleLink_BindToSource(This,bindflags,pbc) (This)->lpVtbl->BindToSource(This,bindflags,pbc)
#define IOleLink_BindIfRunning(This) (This)->lpVtbl->BindIfRunning(This)
#define IOleLink_GetBoundSource(This,ppunk) (This)->lpVtbl->GetBoundSource(This,ppunk)
#define IOleLink_UnbindSource(This) (This)->lpVtbl->UnbindSource(This)
#define IOleLink_Update(This,pbc) (This)->lpVtbl->Update(This,pbc)
#endif
#endif
  HRESULT WINAPI IOleLink_SetUpdateOptions_Proxy(IOleLink *This,DWORD dwUpdateOpt);
  void __RPC_STUB IOleLink_SetUpdateOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_GetUpdateOptions_Proxy(IOleLink *This,DWORD *pdwUpdateOpt);
  void __RPC_STUB IOleLink_GetUpdateOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_SetSourceMoniker_Proxy(IOleLink *This,IMoniker *pmk,REFCLSID rclsid);
  void __RPC_STUB IOleLink_SetSourceMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_GetSourceMoniker_Proxy(IOleLink *This,IMoniker **ppmk);
  void __RPC_STUB IOleLink_GetSourceMoniker_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_SetSourceDisplayName_Proxy(IOleLink *This,LPCOLESTR pszStatusText);
  void __RPC_STUB IOleLink_SetSourceDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_GetSourceDisplayName_Proxy(IOleLink *This,LPOLESTR *ppszDisplayName);
  void __RPC_STUB IOleLink_GetSourceDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_BindToSource_Proxy(IOleLink *This,DWORD bindflags,IBindCtx *pbc);
  void __RPC_STUB IOleLink_BindToSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_BindIfRunning_Proxy(IOleLink *This);
  void __RPC_STUB IOleLink_BindIfRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_GetBoundSource_Proxy(IOleLink *This,IUnknown **ppunk);
  void __RPC_STUB IOleLink_GetBoundSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_UnbindSource_Proxy(IOleLink *This);
  void __RPC_STUB IOleLink_UnbindSource_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleLink_Update_Proxy(IOleLink *This,IBindCtx *pbc);
  void __RPC_STUB IOleLink_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleItemContainer_INTERFACE_DEFINED__
#define __IOleItemContainer_INTERFACE_DEFINED__
  typedef IOleItemContainer *LPOLEITEMCONTAINER;

  typedef enum tagBINDSPEED {
    BINDSPEED_INDEFINITE = 1,BINDSPEED_MODERATE = 2,BINDSPEED_IMMEDIATE = 3
  } BINDSPEED;

  typedef enum tagOLECONTF {
    OLECONTF_EMBEDDINGS = 1,OLECONTF_LINKS = 2,OLECONTF_OTHERS = 4,OLECONTF_ONLYUSER = 8,OLECONTF_ONLYIFRUNNING = 16
  } OLECONTF;

  EXTERN_C const IID IID_IOleItemContainer;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleItemContainer : public IOleContainer {
  public:
    virtual HRESULT WINAPI GetObject(LPOLESTR pszItem,DWORD dwSpeedNeeded,IBindCtx *pbc,REFIID riid,void **ppvObject) = 0;
    virtual HRESULT WINAPI GetObjectStorage(LPOLESTR pszItem,IBindCtx *pbc,REFIID riid,void **ppvStorage) = 0;
    virtual HRESULT WINAPI IsRunning(LPOLESTR pszItem) = 0;
  };
#else
  typedef struct IOleItemContainerVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleItemContainer *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleItemContainer *This);
      ULONG (WINAPI *Release)(IOleItemContainer *This);
      HRESULT (WINAPI *ParseDisplayName)(IOleItemContainer *This,IBindCtx *pbc,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut);
      HRESULT (WINAPI *EnumObjects)(IOleItemContainer *This,DWORD grfFlags,IEnumUnknown **ppenum);
      HRESULT (WINAPI *LockContainer)(IOleItemContainer *This,WINBOOL fLock);
      HRESULT (WINAPI *GetObject)(IOleItemContainer *This,LPOLESTR pszItem,DWORD dwSpeedNeeded,IBindCtx *pbc,REFIID riid,void **ppvObject);
      HRESULT (WINAPI *GetObjectStorage)(IOleItemContainer *This,LPOLESTR pszItem,IBindCtx *pbc,REFIID riid,void **ppvStorage);
      HRESULT (WINAPI *IsRunning)(IOleItemContainer *This,LPOLESTR pszItem);
    END_INTERFACE
  } IOleItemContainerVtbl;
  struct IOleItemContainer {
    CONST_VTBL struct IOleItemContainerVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleItemContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleItemContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleItemContainer_Release(This) (This)->lpVtbl->Release(This)
#define IOleItemContainer_ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pszDisplayName,pchEaten,ppmkOut)
#define IOleItemContainer_EnumObjects(This,grfFlags,ppenum) (This)->lpVtbl->EnumObjects(This,grfFlags,ppenum)
#define IOleItemContainer_LockContainer(This,fLock) (This)->lpVtbl->LockContainer(This,fLock)
#define IOleItemContainer_GetObject(This,pszItem,dwSpeedNeeded,pbc,riid,ppvObject) (This)->lpVtbl->GetObject(This,pszItem,dwSpeedNeeded,pbc,riid,ppvObject)
#define IOleItemContainer_GetObjectStorage(This,pszItem,pbc,riid,ppvStorage) (This)->lpVtbl->GetObjectStorage(This,pszItem,pbc,riid,ppvStorage)
#define IOleItemContainer_IsRunning(This,pszItem) (This)->lpVtbl->IsRunning(This,pszItem)
#endif
#endif
  HRESULT WINAPI IOleItemContainer_GetObject_Proxy(IOleItemContainer *This,LPOLESTR pszItem,DWORD dwSpeedNeeded,IBindCtx *pbc,REFIID riid,void **ppvObject);
  void __RPC_STUB IOleItemContainer_GetObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleItemContainer_GetObjectStorage_Proxy(IOleItemContainer *This,LPOLESTR pszItem,IBindCtx *pbc,REFIID riid,void **ppvStorage);
  void __RPC_STUB IOleItemContainer_GetObjectStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleItemContainer_IsRunning_Proxy(IOleItemContainer *This,LPOLESTR pszItem);
  void __RPC_STUB IOleItemContainer_IsRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleInPlaceUIWindow_INTERFACE_DEFINED__
#define __IOleInPlaceUIWindow_INTERFACE_DEFINED__
  typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;

  typedef RECT BORDERWIDTHS;
  typedef LPRECT LPBORDERWIDTHS;
  typedef LPCRECT LPCBORDERWIDTHS;

  EXTERN_C const IID IID_IOleInPlaceUIWindow;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleInPlaceUIWindow : public IOleWindow {
  public:
    virtual HRESULT WINAPI GetBorder(LPRECT lprectBorder) = 0;
    virtual HRESULT WINAPI RequestBorderSpace(LPCBORDERWIDTHS pborderwidths) = 0;
    virtual HRESULT WINAPI SetBorderSpace(LPCBORDERWIDTHS pborderwidths) = 0;
    virtual HRESULT WINAPI SetActiveObject(IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName) = 0;
  };
#else
  typedef struct IOleInPlaceUIWindowVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleInPlaceUIWindow *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleInPlaceUIWindow *This);
      ULONG (WINAPI *Release)(IOleInPlaceUIWindow *This);
      HRESULT (WINAPI *GetWindow)(IOleInPlaceUIWindow *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleInPlaceUIWindow *This,WINBOOL fEnterMode);
      HRESULT (WINAPI *GetBorder)(IOleInPlaceUIWindow *This,LPRECT lprectBorder);
      HRESULT (WINAPI *RequestBorderSpace)(IOleInPlaceUIWindow *This,LPCBORDERWIDTHS pborderwidths);
      HRESULT (WINAPI *SetBorderSpace)(IOleInPlaceUIWindow *This,LPCBORDERWIDTHS pborderwidths);
      HRESULT (WINAPI *SetActiveObject)(IOleInPlaceUIWindow *This,IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName);
    END_INTERFACE
  } IOleInPlaceUIWindowVtbl;
  struct IOleInPlaceUIWindow {
    CONST_VTBL struct IOleInPlaceUIWindowVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleInPlaceUIWindow_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleInPlaceUIWindow_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleInPlaceUIWindow_Release(This) (This)->lpVtbl->Release(This)
#define IOleInPlaceUIWindow_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleInPlaceUIWindow_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#define IOleInPlaceUIWindow_GetBorder(This,lprectBorder) (This)->lpVtbl->GetBorder(This,lprectBorder)
#define IOleInPlaceUIWindow_RequestBorderSpace(This,pborderwidths) (This)->lpVtbl->RequestBorderSpace(This,pborderwidths)
#define IOleInPlaceUIWindow_SetBorderSpace(This,pborderwidths) (This)->lpVtbl->SetBorderSpace(This,pborderwidths)
#define IOleInPlaceUIWindow_SetActiveObject(This,pActiveObject,pszObjName) (This)->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName)
#endif
#endif
  HRESULT WINAPI IOleInPlaceUIWindow_GetBorder_Proxy(IOleInPlaceUIWindow *This,LPRECT lprectBorder);
  void __RPC_STUB IOleInPlaceUIWindow_GetBorder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceUIWindow_RequestBorderSpace_Proxy(IOleInPlaceUIWindow *This,LPCBORDERWIDTHS pborderwidths);
  void __RPC_STUB IOleInPlaceUIWindow_RequestBorderSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceUIWindow_SetBorderSpace_Proxy(IOleInPlaceUIWindow *This,LPCBORDERWIDTHS pborderwidths);
  void __RPC_STUB IOleInPlaceUIWindow_SetBorderSpace_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceUIWindow_SetActiveObject_Proxy(IOleInPlaceUIWindow *This,IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName);
  void __RPC_STUB IOleInPlaceUIWindow_SetActiveObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleInPlaceActiveObject_INTERFACE_DEFINED__
#define __IOleInPlaceActiveObject_INTERFACE_DEFINED__
  typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;

  EXTERN_C const IID IID_IOleInPlaceActiveObject;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleInPlaceActiveObject : public IOleWindow {
  public:
    virtual HRESULT WINAPI TranslateAccelerator(LPMSG lpmsg) = 0;
    virtual HRESULT WINAPI OnFrameWindowActivate(WINBOOL fActivate) = 0;
    virtual HRESULT WINAPI OnDocWindowActivate(WINBOOL fActivate) = 0;
    virtual HRESULT WINAPI ResizeBorder(LPCRECT prcBorder,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow) = 0;
    virtual HRESULT WINAPI EnableModeless(WINBOOL fEnable) = 0;
  };
#else
  typedef struct IOleInPlaceActiveObjectVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleInPlaceActiveObject *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleInPlaceActiveObject *This);
      ULONG (WINAPI *Release)(IOleInPlaceActiveObject *This);
      HRESULT (WINAPI *GetWindow)(IOleInPlaceActiveObject *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleInPlaceActiveObject *This,WINBOOL fEnterMode);
      HRESULT (WINAPI *TranslateAccelerator)(IOleInPlaceActiveObject *This,LPMSG lpmsg);
      HRESULT (WINAPI *OnFrameWindowActivate)(IOleInPlaceActiveObject *This,WINBOOL fActivate);
      HRESULT (WINAPI *OnDocWindowActivate)(IOleInPlaceActiveObject *This,WINBOOL fActivate);
      HRESULT (WINAPI *ResizeBorder)(IOleInPlaceActiveObject *This,LPCRECT prcBorder,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow);
      HRESULT (WINAPI *EnableModeless)(IOleInPlaceActiveObject *This,WINBOOL fEnable);
    END_INTERFACE
  } IOleInPlaceActiveObjectVtbl;
  struct IOleInPlaceActiveObject {
    CONST_VTBL struct IOleInPlaceActiveObjectVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleInPlaceActiveObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleInPlaceActiveObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleInPlaceActiveObject_Release(This) (This)->lpVtbl->Release(This)
#define IOleInPlaceActiveObject_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleInPlaceActiveObject_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#define IOleInPlaceActiveObject_TranslateAccelerator(This,lpmsg) (This)->lpVtbl->TranslateAccelerator(This,lpmsg)
#define IOleInPlaceActiveObject_OnFrameWindowActivate(This,fActivate) (This)->lpVtbl->OnFrameWindowActivate(This,fActivate)
#define IOleInPlaceActiveObject_OnDocWindowActivate(This,fActivate) (This)->lpVtbl->OnDocWindowActivate(This,fActivate)
#define IOleInPlaceActiveObject_ResizeBorder(This,prcBorder,pUIWindow,fFrameWindow) (This)->lpVtbl->ResizeBorder(This,prcBorder,pUIWindow,fFrameWindow)
#define IOleInPlaceActiveObject_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#endif
#endif
  HRESULT WINAPI IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy(IOleInPlaceActiveObject *This);
  void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(IOleInPlaceActiveObject *This,WINBOOL fActivate);
  void __RPC_STUB IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceActiveObject_OnDocWindowActivate_Proxy(IOleInPlaceActiveObject *This,WINBOOL fActivate);
  void __RPC_STUB IOleInPlaceActiveObject_OnDocWindowActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceActiveObject_RemoteResizeBorder_Proxy(IOleInPlaceActiveObject *This,LPCRECT prcBorder,REFIID riid,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow);
  void __RPC_STUB IOleInPlaceActiveObject_RemoteResizeBorder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceActiveObject_EnableModeless_Proxy(IOleInPlaceActiveObject *This,WINBOOL fEnable);
  void __RPC_STUB IOleInPlaceActiveObject_EnableModeless_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleInPlaceFrame_INTERFACE_DEFINED__
#define __IOleInPlaceFrame_INTERFACE_DEFINED__
  typedef IOleInPlaceFrame *LPOLEINPLACEFRAME;

  typedef struct tagOIFI {
    UINT cb;
    WINBOOL fMDIApp;
    HWND hwndFrame;
    HACCEL haccel;
    UINT cAccelEntries;
  } OLEINPLACEFRAMEINFO;

  typedef struct tagOIFI *LPOLEINPLACEFRAMEINFO;

  typedef struct tagOleMenuGroupWidths {
    LONG width[6 ];
  } OLEMENUGROUPWIDTHS;

  typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS;
  typedef HGLOBAL HOLEMENU;

  EXTERN_C const IID IID_IOleInPlaceFrame;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleInPlaceFrame : public IOleInPlaceUIWindow {
  public:
    virtual HRESULT WINAPI InsertMenus(HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
    virtual HRESULT WINAPI SetMenu(HMENU hmenuShared,HOLEMENU holemenu,HWND hwndActiveObject) = 0;
    virtual HRESULT WINAPI RemoveMenus(HMENU hmenuShared) = 0;
    virtual HRESULT WINAPI SetStatusText(LPCOLESTR pszStatusText) = 0;
    virtual HRESULT WINAPI EnableModeless(WINBOOL fEnable) = 0;
    virtual HRESULT WINAPI TranslateAccelerator(LPMSG lpmsg,WORD wID) = 0;
  };
#else
  typedef struct IOleInPlaceFrameVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleInPlaceFrame *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleInPlaceFrame *This);
      ULONG (WINAPI *Release)(IOleInPlaceFrame *This);
      HRESULT (WINAPI *GetWindow)(IOleInPlaceFrame *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleInPlaceFrame *This,WINBOOL fEnterMode);
      HRESULT (WINAPI *GetBorder)(IOleInPlaceFrame *This,LPRECT lprectBorder);
      HRESULT (WINAPI *RequestBorderSpace)(IOleInPlaceFrame *This,LPCBORDERWIDTHS pborderwidths);
      HRESULT (WINAPI *SetBorderSpace)(IOleInPlaceFrame *This,LPCBORDERWIDTHS pborderwidths);
      HRESULT (WINAPI *SetActiveObject)(IOleInPlaceFrame *This,IOleInPlaceActiveObject *pActiveObject,LPCOLESTR pszObjName);
      HRESULT (WINAPI *InsertMenus)(IOleInPlaceFrame *This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths);
      HRESULT (WINAPI *SetMenu)(IOleInPlaceFrame *This,HMENU hmenuShared,HOLEMENU holemenu,HWND hwndActiveObject);
      HRESULT (WINAPI *RemoveMenus)(IOleInPlaceFrame *This,HMENU hmenuShared);
      HRESULT (WINAPI *SetStatusText)(IOleInPlaceFrame *This,LPCOLESTR pszStatusText);
      HRESULT (WINAPI *EnableModeless)(IOleInPlaceFrame *This,WINBOOL fEnable);
      HRESULT (WINAPI *TranslateAccelerator)(IOleInPlaceFrame *This,LPMSG lpmsg,WORD wID);
    END_INTERFACE
  } IOleInPlaceFrameVtbl;
  struct IOleInPlaceFrame {
    CONST_VTBL struct IOleInPlaceFrameVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleInPlaceFrame_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleInPlaceFrame_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleInPlaceFrame_Release(This) (This)->lpVtbl->Release(This)
#define IOleInPlaceFrame_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleInPlaceFrame_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#define IOleInPlaceFrame_GetBorder(This,lprectBorder) (This)->lpVtbl->GetBorder(This,lprectBorder)
#define IOleInPlaceFrame_RequestBorderSpace(This,pborderwidths) (This)->lpVtbl->RequestBorderSpace(This,pborderwidths)
#define IOleInPlaceFrame_SetBorderSpace(This,pborderwidths) (This)->lpVtbl->SetBorderSpace(This,pborderwidths)
#define IOleInPlaceFrame_SetActiveObject(This,pActiveObject,pszObjName) (This)->lpVtbl->SetActiveObject(This,pActiveObject,pszObjName)
#define IOleInPlaceFrame_InsertMenus(This,hmenuShared,lpMenuWidths) (This)->lpVtbl->InsertMenus(This,hmenuShared,lpMenuWidths)
#define IOleInPlaceFrame_SetMenu(This,hmenuShared,holemenu,hwndActiveObject) (This)->lpVtbl->SetMenu(This,hmenuShared,holemenu,hwndActiveObject)
#define IOleInPlaceFrame_RemoveMenus(This,hmenuShared) (This)->lpVtbl->RemoveMenus(This,hmenuShared)
#define IOleInPlaceFrame_SetStatusText(This,pszStatusText) (This)->lpVtbl->SetStatusText(This,pszStatusText)
#define IOleInPlaceFrame_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable)
#define IOleInPlaceFrame_TranslateAccelerator(This,lpmsg,wID) (This)->lpVtbl->TranslateAccelerator(This,lpmsg,wID)
#endif
#endif
  HRESULT WINAPI IOleInPlaceFrame_InsertMenus_Proxy(IOleInPlaceFrame *This,HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths);
  void __RPC_STUB IOleInPlaceFrame_InsertMenus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceFrame_SetMenu_Proxy(IOleInPlaceFrame *This,HMENU hmenuShared,HOLEMENU holemenu,HWND hwndActiveObject);
  void __RPC_STUB IOleInPlaceFrame_SetMenu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceFrame_RemoveMenus_Proxy(IOleInPlaceFrame *This,HMENU hmenuShared);
  void __RPC_STUB IOleInPlaceFrame_RemoveMenus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceFrame_SetStatusText_Proxy(IOleInPlaceFrame *This,LPCOLESTR pszStatusText);
  void __RPC_STUB IOleInPlaceFrame_SetStatusText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceFrame_EnableModeless_Proxy(IOleInPlaceFrame *This,WINBOOL fEnable);
  void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceFrame_TranslateAccelerator_Proxy(IOleInPlaceFrame *This,LPMSG lpmsg,WORD wID);
  void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleInPlaceObject_INTERFACE_DEFINED__
#define __IOleInPlaceObject_INTERFACE_DEFINED__
  typedef IOleInPlaceObject *LPOLEINPLACEOBJECT;

  EXTERN_C const IID IID_IOleInPlaceObject;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleInPlaceObject : public IOleWindow {
  public:
    virtual HRESULT WINAPI InPlaceDeactivate(void) = 0;
    virtual HRESULT WINAPI UIDeactivate(void) = 0;
    virtual HRESULT WINAPI SetObjectRects(LPCRECT lprcPosRect,LPCRECT lprcClipRect) = 0;
    virtual HRESULT WINAPI ReactivateAndUndo(void) = 0;
  };
#else
  typedef struct IOleInPlaceObjectVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleInPlaceObject *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleInPlaceObject *This);
      ULONG (WINAPI *Release)(IOleInPlaceObject *This);
      HRESULT (WINAPI *GetWindow)(IOleInPlaceObject *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleInPlaceObject *This,WINBOOL fEnterMode);
      HRESULT (WINAPI *InPlaceDeactivate)(IOleInPlaceObject *This);
      HRESULT (WINAPI *UIDeactivate)(IOleInPlaceObject *This);
      HRESULT (WINAPI *SetObjectRects)(IOleInPlaceObject *This,LPCRECT lprcPosRect,LPCRECT lprcClipRect);
      HRESULT (WINAPI *ReactivateAndUndo)(IOleInPlaceObject *This);
    END_INTERFACE
  } IOleInPlaceObjectVtbl;
  struct IOleInPlaceObject {
    CONST_VTBL struct IOleInPlaceObjectVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleInPlaceObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleInPlaceObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleInPlaceObject_Release(This) (This)->lpVtbl->Release(This)
#define IOleInPlaceObject_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleInPlaceObject_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#define IOleInPlaceObject_InPlaceDeactivate(This) (This)->lpVtbl->InPlaceDeactivate(This)
#define IOleInPlaceObject_UIDeactivate(This) (This)->lpVtbl->UIDeactivate(This)
#define IOleInPlaceObject_SetObjectRects(This,lprcPosRect,lprcClipRect) (This)->lpVtbl->SetObjectRects(This,lprcPosRect,lprcClipRect)
#define IOleInPlaceObject_ReactivateAndUndo(This) (This)->lpVtbl->ReactivateAndUndo(This)
#endif
#endif
  HRESULT WINAPI IOleInPlaceObject_InPlaceDeactivate_Proxy(IOleInPlaceObject *This);
  void __RPC_STUB IOleInPlaceObject_InPlaceDeactivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceObject_UIDeactivate_Proxy(IOleInPlaceObject *This);
  void __RPC_STUB IOleInPlaceObject_UIDeactivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceObject_SetObjectRects_Proxy(IOleInPlaceObject *This,LPCRECT lprcPosRect,LPCRECT lprcClipRect);
  void __RPC_STUB IOleInPlaceObject_SetObjectRects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceObject_ReactivateAndUndo_Proxy(IOleInPlaceObject *This);
  void __RPC_STUB IOleInPlaceObject_ReactivateAndUndo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IOleInPlaceSite_INTERFACE_DEFINED__
#define __IOleInPlaceSite_INTERFACE_DEFINED__
  typedef IOleInPlaceSite *LPOLEINPLACESITE;

  EXTERN_C const IID IID_IOleInPlaceSite;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IOleInPlaceSite : public IOleWindow {
  public:
    virtual HRESULT WINAPI CanInPlaceActivate(void) = 0;
    virtual HRESULT WINAPI OnInPlaceActivate(void) = 0;
    virtual HRESULT WINAPI OnUIActivate(void) = 0;
    virtual HRESULT WINAPI GetWindowContext(IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
    virtual HRESULT WINAPI Scroll(SIZE scrollExtant) = 0;
    virtual HRESULT WINAPI OnUIDeactivate(WINBOOL fUndoable) = 0;
    virtual HRESULT WINAPI OnInPlaceDeactivate(void) = 0;
    virtual HRESULT WINAPI DiscardUndoState(void) = 0;
    virtual HRESULT WINAPI DeactivateAndUndo(void) = 0;
    virtual HRESULT WINAPI OnPosRectChange(LPCRECT lprcPosRect) = 0;
  };
#else
  typedef struct IOleInPlaceSiteVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IOleInPlaceSite *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IOleInPlaceSite *This);
      ULONG (WINAPI *Release)(IOleInPlaceSite *This);
      HRESULT (WINAPI *GetWindow)(IOleInPlaceSite *This,HWND *phwnd);
      HRESULT (WINAPI *ContextSensitiveHelp)(IOleInPlaceSite *This,WINBOOL fEnterMode);
      HRESULT (WINAPI *CanInPlaceActivate)(IOleInPlaceSite *This);
      HRESULT (WINAPI *OnInPlaceActivate)(IOleInPlaceSite *This);
      HRESULT (WINAPI *OnUIActivate)(IOleInPlaceSite *This);
      HRESULT (WINAPI *GetWindowContext)(IOleInPlaceSite *This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo);
      HRESULT (WINAPI *Scroll)(IOleInPlaceSite *This,SIZE scrollExtant);
      HRESULT (WINAPI *OnUIDeactivate)(IOleInPlaceSite *This,WINBOOL fUndoable);
      HRESULT (WINAPI *OnInPlaceDeactivate)(IOleInPlaceSite *This);
      HRESULT (WINAPI *DiscardUndoState)(IOleInPlaceSite *This);
      HRESULT (WINAPI *DeactivateAndUndo)(IOleInPlaceSite *This);
      HRESULT (WINAPI *OnPosRectChange)(IOleInPlaceSite *This,LPCRECT lprcPosRect);
    END_INTERFACE
  } IOleInPlaceSiteVtbl;
  struct IOleInPlaceSite {
    CONST_VTBL struct IOleInPlaceSiteVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IOleInPlaceSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IOleInPlaceSite_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IOleInPlaceSite_Release(This) (This)->lpVtbl->Release(This)
#define IOleInPlaceSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd)
#define IOleInPlaceSite_ContextSensitiveHelp(This,fEnterMode) (This)->lpVtbl->ContextSensitiveHelp(This,fEnterMode)
#define IOleInPlaceSite_CanInPlaceActivate(This) (This)->lpVtbl->CanInPlaceActivate(This)
#define IOleInPlaceSite_OnInPlaceActivate(This) (This)->lpVtbl->OnInPlaceActivate(This)
#define IOleInPlaceSite_OnUIActivate(This) (This)->lpVtbl->OnUIActivate(This)
#define IOleInPlaceSite_GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo) (This)->lpVtbl->GetWindowContext(This,ppFrame,ppDoc,lprcPosRect,lprcClipRect,lpFrameInfo)
#define IOleInPlaceSite_Scroll(This,scrollExtant) (This)->lpVtbl->Scroll(This,scrollExtant)
#define IOleInPlaceSite_OnUIDeactivate(This,fUndoable) (This)->lpVtbl->OnUIDeactivate(This,fUndoable)
#define IOleInPlaceSite_OnInPlaceDeactivate(This) (This)->lpVtbl->OnInPlaceDeactivate(This)
#define IOleInPlaceSite_DiscardUndoState(This) (This)->lpVtbl->DiscardUndoState(This)
#define IOleInPlaceSite_DeactivateAndUndo(This) (This)->lpVtbl->DeactivateAndUndo(This)
#define IOleInPlaceSite_OnPosRectChange(This,lprcPosRect) (This)->lpVtbl->OnPosRectChange(This,lprcPosRect)
#endif
#endif
  HRESULT WINAPI IOleInPlaceSite_CanInPlaceActivate_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_CanInPlaceActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_OnInPlaceActivate_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_OnInPlaceActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_OnUIActivate_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_OnUIActivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_GetWindowContext_Proxy(IOleInPlaceSite *This,IOleInPlaceFrame **ppFrame,IOleInPlaceUIWindow **ppDoc,LPRECT lprcPosRect,LPRECT lprcClipRect,LPOLEINPLACEFRAMEINFO lpFrameInfo);
  void __RPC_STUB IOleInPlaceSite_GetWindowContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_Scroll_Proxy(IOleInPlaceSite *This,SIZE scrollExtant);
  void __RPC_STUB IOleInPlaceSite_Scroll_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_OnUIDeactivate_Proxy(IOleInPlaceSite *This,WINBOOL fUndoable);
  void __RPC_STUB IOleInPlaceSite_OnUIDeactivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_OnInPlaceDeactivate_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_OnInPlaceDeactivate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_DiscardUndoState_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_DiscardUndoState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_DeactivateAndUndo_Proxy(IOleInPlaceSite *This);
  void __RPC_STUB IOleInPlaceSite_DeactivateAndUndo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IOleInPlaceSite_OnPosRectChange_Proxy(IOleInPlaceSite *This,LPCRECT lprcPosRect);
  void __RPC_STUB IOleInPlaceSite_OnPosRectChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IContinue_INTERFACE_DEFINED__
#define __IContinue_INTERFACE_DEFINED__
  EXTERN_C const IID IID_IContinue;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IContinue : public IUnknown {
  public:
    virtual HRESULT WINAPI FContinue(void) = 0;
  };
#else
  typedef struct IContinueVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IContinue *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IContinue *This);
      ULONG (WINAPI *Release)(IContinue *This);
      HRESULT (WINAPI *FContinue)(IContinue *This);
    END_INTERFACE
  } IContinueVtbl;
  struct IContinue {
    CONST_VTBL struct IContinueVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IContinue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IContinue_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IContinue_Release(This) (This)->lpVtbl->Release(This)
#define IContinue_FContinue(This) (This)->lpVtbl->FContinue(This)
#endif
#endif
  HRESULT WINAPI IContinue_FContinue_Proxy(IContinue *This);
  void __RPC_STUB IContinue_FContinue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IViewObject_INTERFACE_DEFINED__
#define __IViewObject_INTERFACE_DEFINED__
  typedef IViewObject *LPVIEWOBJECT;

  EXTERN_C const IID IID_IViewObject;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IViewObject : public IUnknown {
  public:
    virtual HRESULT WINAPI Draw(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (WINAPI *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue) = 0;
    virtual HRESULT WINAPI GetColorSet(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet) = 0;
    virtual HRESULT WINAPI Freeze(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze) = 0;
    virtual HRESULT WINAPI Unfreeze(DWORD dwFreeze) = 0;
    virtual HRESULT WINAPI SetAdvise(DWORD aspects,DWORD advf,IAdviseSink *pAdvSink) = 0;
    virtual HRESULT WINAPI GetAdvise(DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink) = 0;
  };
#else
  typedef struct IViewObjectVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IViewObject *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IViewObject *This);
      ULONG (WINAPI *Release)(IViewObject *This);
      HRESULT (WINAPI *Draw)(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (WINAPI *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue);
      HRESULT (WINAPI *GetColorSet)(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet);
      HRESULT (WINAPI *Freeze)(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze);
      HRESULT (WINAPI *Unfreeze)(IViewObject *This,DWORD dwFreeze);
      HRESULT (WINAPI *SetAdvise)(IViewObject *This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink);
      HRESULT (WINAPI *GetAdvise)(IViewObject *This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink);
    END_INTERFACE
  } IViewObjectVtbl;
  struct IViewObject {
    CONST_VTBL struct IViewObjectVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IViewObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObject_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObject_Release(This) (This)->lpVtbl->Release(This)
#define IViewObject_Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue) (This)->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue)
#define IViewObject_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
#define IViewObject_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
#define IViewObject_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
#define IViewObject_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
#define IViewObject_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
#endif
#endif
  HRESULT WINAPI IViewObject_RemoteDraw_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DVTARGETDEVICE *ptd,ULONG_PTR hdcTargetDev,ULONG_PTR hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,IContinue *pContinue);
  void __RPC_STUB IViewObject_RemoteDraw_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IViewObject_RemoteGetColorSet_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DVTARGETDEVICE *ptd,ULONG_PTR hicTargetDev,LOGPALETTE **ppColorSet);
  void __RPC_STUB IViewObject_RemoteGetColorSet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IViewObject_RemoteFreeze_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DWORD *pdwFreeze);
  void __RPC_STUB IViewObject_RemoteFreeze_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IViewObject_Unfreeze_Proxy(IViewObject *This,DWORD dwFreeze);
  void __RPC_STUB IViewObject_Unfreeze_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IViewObject_SetAdvise_Proxy(IViewObject *This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink);
  void __RPC_STUB IViewObject_SetAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IViewObject_RemoteGetAdvise_Proxy(IViewObject *This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink);
  void __RPC_STUB IViewObject_RemoteGetAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IViewObject2_INTERFACE_DEFINED__
#define __IViewObject2_INTERFACE_DEFINED__
  typedef IViewObject2 *LPVIEWOBJECT2;

  EXTERN_C const IID IID_IViewObject2;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IViewObject2 : public IViewObject {
  public:
    virtual HRESULT WINAPI GetExtent(DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel) = 0;
  };
#else
  typedef struct IViewObject2Vtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IViewObject2 *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IViewObject2 *This);
      ULONG (WINAPI *Release)(IViewObject2 *This);
      HRESULT (WINAPI *Draw)(IViewObject2 *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (WINAPI *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue);
      HRESULT (WINAPI *GetColorSet)(IViewObject2 *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet);
      HRESULT (WINAPI *Freeze)(IViewObject2 *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze);
      HRESULT (WINAPI *Unfreeze)(IViewObject2 *This,DWORD dwFreeze);
      HRESULT (WINAPI *SetAdvise)(IViewObject2 *This,DWORD aspects,DWORD advf,IAdviseSink *pAdvSink);
      HRESULT (WINAPI *GetAdvise)(IViewObject2 *This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink);
      HRESULT (WINAPI *GetExtent)(IViewObject2 *This,DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel);
    END_INTERFACE
  } IViewObject2Vtbl;
  struct IViewObject2 {
    CONST_VTBL struct IViewObject2Vtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IViewObject2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IViewObject2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IViewObject2_Release(This) (This)->lpVtbl->Release(This)
#define IViewObject2_Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue) (This)->lpVtbl->Draw(This,dwDrawAspect,lindex,pvAspect,ptd,hdcTargetDev,hdcDraw,lprcBounds,lprcWBounds,pfnContinue,dwContinue)
#define IViewObject2_GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet) (This)->lpVtbl->GetColorSet(This,dwDrawAspect,lindex,pvAspect,ptd,hicTargetDev,ppColorSet)
#define IViewObject2_Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze) (This)->lpVtbl->Freeze(This,dwDrawAspect,lindex,pvAspect,pdwFreeze)
#define IViewObject2_Unfreeze(This,dwFreeze) (This)->lpVtbl->Unfreeze(This,dwFreeze)
#define IViewObject2_SetAdvise(This,aspects,advf,pAdvSink) (This)->lpVtbl->SetAdvise(This,aspects,advf,pAdvSink)
#define IViewObject2_GetAdvise(This,pAspects,pAdvf,ppAdvSink) (This)->lpVtbl->GetAdvise(This,pAspects,pAdvf,ppAdvSink)
#define IViewObject2_GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel) (This)->lpVtbl->GetExtent(This,dwDrawAspect,lindex,ptd,lpsizel)
#endif
#endif
  HRESULT WINAPI IViewObject2_GetExtent_Proxy(IViewObject2 *This,DWORD dwDrawAspect,LONG lindex,DVTARGETDEVICE *ptd,LPSIZEL lpsizel);
  void __RPC_STUB IViewObject2_GetExtent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IDropSource_INTERFACE_DEFINED__
#define __IDropSource_INTERFACE_DEFINED__
  typedef IDropSource *LPDROPSOURCE;

  EXTERN_C const IID IID_IDropSource;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IDropSource : public IUnknown {
  public:
    virtual HRESULT WINAPI QueryContinueDrag(WINBOOL fEscapePressed,DWORD grfKeyState) = 0;
    virtual HRESULT WINAPI GiveFeedback(DWORD dwEffect) = 0;
  };
#else
  typedef struct IDropSourceVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IDropSource *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IDropSource *This);
      ULONG (WINAPI *Release)(IDropSource *This);
      HRESULT (WINAPI *QueryContinueDrag)(IDropSource *This,WINBOOL fEscapePressed,DWORD grfKeyState);
      HRESULT (WINAPI *GiveFeedback)(IDropSource *This,DWORD dwEffect);
    END_INTERFACE
  } IDropSourceVtbl;
  struct IDropSource {
    CONST_VTBL struct IDropSourceVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IDropSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDropSource_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDropSource_Release(This) (This)->lpVtbl->Release(This)
#define IDropSource_QueryContinueDrag(This,fEscapePressed,grfKeyState) (This)->lpVtbl->QueryContinueDrag(This,fEscapePressed,grfKeyState)
#define IDropSource_GiveFeedback(This,dwEffect) (This)->lpVtbl->GiveFeedback(This,dwEffect)
#endif
#endif
  HRESULT WINAPI IDropSource_QueryContinueDrag_Proxy(IDropSource *This,WINBOOL fEscapePressed,DWORD grfKeyState);
  void __RPC_STUB IDropSource_QueryContinueDrag_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IDropSource_GiveFeedback_Proxy(IDropSource *This,DWORD dwEffect);
  void __RPC_STUB IDropSource_GiveFeedback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IDropTarget_INTERFACE_DEFINED__
#define __IDropTarget_INTERFACE_DEFINED__
  typedef IDropTarget *LPDROPTARGET;

#define MK_ALT (0x20)

#define DROPEFFECT_NONE (0)
#define DROPEFFECT_COPY (1)
#define DROPEFFECT_MOVE (2)
#define DROPEFFECT_LINK (4)
#define DROPEFFECT_SCROLL (0x80000000)
#define DD_DEFSCROLLINSET (11)
#define DD_DEFSCROLLDELAY (50)
#define DD_DEFSCROLLINTERVAL (50)
#define DD_DEFDRAGDELAY (200)
#define DD_DEFDRAGMINDIST (2)

  EXTERN_C const IID IID_IDropTarget;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IDropTarget : public IUnknown {
  public:
    virtual HRESULT WINAPI DragEnter(IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) = 0;
    virtual HRESULT WINAPI DragOver(DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) = 0;
    virtual HRESULT WINAPI DragLeave(void) = 0;
    virtual HRESULT WINAPI Drop(IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect) = 0;
  };
#else
  typedef struct IDropTargetVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IDropTarget *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IDropTarget *This);
      ULONG (WINAPI *Release)(IDropTarget *This);
      HRESULT (WINAPI *DragEnter)(IDropTarget *This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
      HRESULT (WINAPI *DragOver)(IDropTarget *This,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
      HRESULT (WINAPI *DragLeave)(IDropTarget *This);
      HRESULT (WINAPI *Drop)(IDropTarget *This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
    END_INTERFACE
  } IDropTargetVtbl;
  struct IDropTarget {
    CONST_VTBL struct IDropTargetVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IDropTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDropTarget_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDropTarget_Release(This) (This)->lpVtbl->Release(This)
#define IDropTarget_DragEnter(This,pDataObj,grfKeyState,pt,pdwEffect) (This)->lpVtbl->DragEnter(This,pDataObj,grfKeyState,pt,pdwEffect)
#define IDropTarget_DragOver(This,grfKeyState,pt,pdwEffect) (This)->lpVtbl->DragOver(This,grfKeyState,pt,pdwEffect)
#define IDropTarget_DragLeave(This) (This)->lpVtbl->DragLeave(This)
#define IDropTarget_Drop(This,pDataObj,grfKeyState,pt,pdwEffect) (This)->lpVtbl->Drop(This,pDataObj,grfKeyState,pt,pdwEffect)
#endif
#endif
  HRESULT WINAPI IDropTarget_DragEnter_Proxy(IDropTarget *This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
  void __RPC_STUB IDropTarget_DragEnter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IDropTarget_DragOver_Proxy(IDropTarget *This,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
  void __RPC_STUB IDropTarget_DragOver_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IDropTarget_DragLeave_Proxy(IDropTarget *This);
  void __RPC_STUB IDropTarget_DragLeave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IDropTarget_Drop_Proxy(IDropTarget *This,IDataObject *pDataObj,DWORD grfKeyState,POINTL pt,DWORD *pdwEffect);
  void __RPC_STUB IDropTarget_Drop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

#ifndef __IEnumOLEVERB_INTERFACE_DEFINED__
#define __IEnumOLEVERB_INTERFACE_DEFINED__
  typedef IEnumOLEVERB *LPENUMOLEVERB;

  typedef struct tagOLEVERB {
    LONG lVerb;
    LPOLESTR lpszVerbName;
    DWORD fuFlags;
    DWORD grfAttribs;
  } OLEVERB;

  typedef struct tagOLEVERB *LPOLEVERB;

  typedef enum tagOLEVERBATTRIB {
    OLEVERBATTRIB_NEVERDIRTIES = 1,OLEVERBATTRIB_ONCONTAINERMENU = 2
  } OLEVERBATTRIB;

  EXTERN_C const IID IID_IEnumOLEVERB;
#if defined(__cplusplus) && !defined(CINTERFACE)
  struct IEnumOLEVERB : public IUnknown {
  public:
    virtual HRESULT WINAPI Next(ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched) = 0;
    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
    virtual HRESULT WINAPI Reset(void) = 0;
    virtual HRESULT WINAPI Clone(IEnumOLEVERB **ppenum) = 0;
  };
#else
  typedef struct IEnumOLEVERBVtbl {
    BEGIN_INTERFACE
      HRESULT (WINAPI *QueryInterface)(IEnumOLEVERB *This,REFIID riid,void **ppvObject);
      ULONG (WINAPI *AddRef)(IEnumOLEVERB *This);
      ULONG (WINAPI *Release)(IEnumOLEVERB *This);
      HRESULT (WINAPI *Next)(IEnumOLEVERB *This,ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched);
      HRESULT (WINAPI *Skip)(IEnumOLEVERB *This,ULONG celt);
      HRESULT (WINAPI *Reset)(IEnumOLEVERB *This);
      HRESULT (WINAPI *Clone)(IEnumOLEVERB *This,IEnumOLEVERB **ppenum);
    END_INTERFACE
  } IEnumOLEVERBVtbl;
  struct IEnumOLEVERB {
    CONST_VTBL struct IEnumOLEVERBVtbl *lpVtbl;
  };
#ifdef COBJMACROS
#define IEnumOLEVERB_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IEnumOLEVERB_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IEnumOLEVERB_Release(This) (This)->lpVtbl->Release(This)
#define IEnumOLEVERB_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
#define IEnumOLEVERB_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
#define IEnumOLEVERB_Reset(This) (This)->lpVtbl->Reset(This)
#define IEnumOLEVERB_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
#endif
#endif
  HRESULT WINAPI IEnumOLEVERB_RemoteNext_Proxy(IEnumOLEVERB *This,ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched);
  void __RPC_STUB IEnumOLEVERB_RemoteNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IEnumOLEVERB_Skip_Proxy(IEnumOLEVERB *This,ULONG celt);
  void __RPC_STUB IEnumOLEVERB_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IEnumOLEVERB_Reset_Proxy(IEnumOLEVERB *This);
  void __RPC_STUB IEnumOLEVERB_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  HRESULT WINAPI IEnumOLEVERB_Clone_Proxy(IEnumOLEVERB *This,IEnumOLEVERB **ppenum);
  void __RPC_STUB IEnumOLEVERB_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
#endif

  unsigned long __RPC_API CLIPFORMAT_UserSize(unsigned long *,unsigned long,CLIPFORMAT *);
  unsigned char *__RPC_API CLIPFORMAT_UserMarshal(unsigned long *,unsigned char *,CLIPFORMAT *);
  unsigned char *__RPC_API CLIPFORMAT_UserUnmarshal(unsigned long *,unsigned char *,CLIPFORMAT *);
  void __RPC_API CLIPFORMAT_UserFree(unsigned long *,CLIPFORMAT *);
  unsigned long __RPC_API HACCEL_UserSize(unsigned long *,unsigned long,HACCEL *);
  unsigned char *__RPC_API HACCEL_UserMarshal(unsigned long *,unsigned char *,HACCEL *);
  unsigned char *__RPC_API HACCEL_UserUnmarshal(unsigned long *,unsigned char *,HACCEL *);
  void __RPC_API HACCEL_UserFree(unsigned long *,HACCEL *);
  unsigned long __RPC_API HGLOBAL_UserSize(unsigned long *,unsigned long,HGLOBAL *);
  unsigned char *__RPC_API HGLOBAL_UserMarshal(unsigned long *,unsigned char *,HGLOBAL *);
  unsigned char *__RPC_API HGLOBAL_UserUnmarshal(unsigned long *,unsigned char *,HGLOBAL *);
  void __RPC_API HGLOBAL_UserFree(unsigned long *,HGLOBAL *);
  unsigned long __RPC_API HMENU_UserSize(unsigned long *,unsigned long,HMENU *);
  unsigned char *__RPC_API HMENU_UserMarshal(unsigned long *,unsigned char *,HMENU *);
  unsigned char *__RPC_API HMENU_UserUnmarshal(unsigned long *,unsigned char *,HMENU *);
  void __RPC_API HMENU_UserFree(unsigned long *,HMENU *);
  unsigned long __RPC_API HWND_UserSize(unsigned long *,unsigned long,HWND *);
  unsigned char *__RPC_API HWND_UserMarshal(unsigned long *,unsigned char *,HWND *);
  unsigned char *__RPC_API HWND_UserUnmarshal(unsigned long *,unsigned char *,HWND *);
  void __RPC_API HWND_UserFree(unsigned long *,HWND *);
  unsigned long __RPC_API STGMEDIUM_UserSize(unsigned long *,unsigned long,STGMEDIUM *);
  unsigned char *__RPC_API STGMEDIUM_UserMarshal(unsigned long *,unsigned char *,STGMEDIUM *);
  unsigned char *__RPC_API STGMEDIUM_UserUnmarshal(unsigned long *,unsigned char *,STGMEDIUM *);
  void __RPC_API STGMEDIUM_UserFree(unsigned long *,STGMEDIUM *);

  HRESULT WINAPI IOleCache2_UpdateCache_Proxy(IOleCache2 *This,LPDATAOBJECT pDataObject,DWORD grfUpdf,LPVOID pReserved);
  HRESULT WINAPI IOleCache2_UpdateCache_Stub(IOleCache2 *This,LPDATAOBJECT pDataObject,DWORD grfUpdf,LONG_PTR pReserved);
  HRESULT WINAPI IOleInPlaceActiveObject_TranslateAccelerator_Proxy(IOleInPlaceActiveObject *This,LPMSG lpmsg);
  HRESULT WINAPI IOleInPlaceActiveObject_TranslateAccelerator_Stub(IOleInPlaceActiveObject *This);
  HRESULT WINAPI IOleInPlaceActiveObject_ResizeBorder_Proxy(IOleInPlaceActiveObject *This,LPCRECT prcBorder,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow);
  HRESULT WINAPI IOleInPlaceActiveObject_ResizeBorder_Stub(IOleInPlaceActiveObject *This,LPCRECT prcBorder,REFIID riid,IOleInPlaceUIWindow *pUIWindow,WINBOOL fFrameWindow);
  HRESULT WINAPI IViewObject_Draw_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcTargetDev,HDC hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,WINBOOL (WINAPI *pfnContinue)(ULONG_PTR dwContinue),ULONG_PTR dwContinue);
  HRESULT WINAPI IViewObject_Draw_Stub(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DVTARGETDEVICE *ptd,ULONG_PTR hdcTargetDev,ULONG_PTR hdcDraw,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,IContinue *pContinue);
  HRESULT WINAPI IViewObject_GetColorSet_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hicTargetDev,LOGPALETTE **ppColorSet);
  HRESULT WINAPI IViewObject_GetColorSet_Stub(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DVTARGETDEVICE *ptd,ULONG_PTR hicTargetDev,LOGPALETTE **ppColorSet);
  HRESULT WINAPI IViewObject_Freeze_Proxy(IViewObject *This,DWORD dwDrawAspect,LONG lindex,void *pvAspect,DWORD *pdwFreeze);
  HRESULT WINAPI IViewObject_Freeze_Stub(IViewObject *This,DWORD dwDrawAspect,LONG lindex,ULONG_PTR pvAspect,DWORD *pdwFreeze);
  HRESULT WINAPI IViewObject_GetAdvise_Proxy(IViewObject *This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink);
  HRESULT WINAPI IViewObject_GetAdvise_Stub(IViewObject *This,DWORD *pAspects,DWORD *pAdvf,IAdviseSink **ppAdvSink);
  HRESULT WINAPI IEnumOLEVERB_Next_Proxy(IEnumOLEVERB *This,ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched);
  HRESULT WINAPI IEnumOLEVERB_Next_Stub(IEnumOLEVERB *This,ULONG celt,LPOLEVERB rgelt,ULONG *pceltFetched);

#ifdef __cplusplus
}
#endif
#endif