ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

oledlg.h
Go to the documentation of this file.
00001 /*
00002  * Declarations for OLEDLG
00003  *
00004  * Copyright (C) the Wine project
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_OLEDLG_H
00022 #define __WINE_OLEDLG_H
00023 
00024 #ifndef __WINESRC__
00025 # include <windows.h>
00026 #endif
00027 #include <shellapi.h>
00028 #include <commdlg.h>
00029 #include <ole2.h>
00030 #ifndef __WINESRC__
00031 # include <string.h>
00032 # include <tchar.h>
00033 #endif
00034 #include <dlgs.h>
00035 #include <prsht.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040 
00041 
00042 typedef struct IOleUILinkContainerA *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
00043 typedef struct IOleUILinkContainerW *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
00044 
00045 typedef struct IOleUILinkInfoA *POLEUILINKINFOA, *LPOLEUILINKINFOA;
00046 typedef struct IOleUILinkInfoW *POLEUILINKINFOW, *LPOLEUILINKINFOW;
00047 
00048 typedef struct IOleUIObjInfoA *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
00049 typedef struct IOleUIObjInfoW *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
00050 
00051 #define IDC_OLEUIHELP                   99
00052 
00053 
00054 #define OLEUI_ERR_STANDARDMAX           116
00055 
00056 #define OLEUI_BZERR_HTASKINVALID        (OLEUI_ERR_STANDARDMAX+0)
00057 #define OLEUI_BZ_SWITCHTOSELECTED       (OLEUI_ERR_STANDARDMAX+1)
00058 #define OLEUI_BZ_RETRYSELECTED          (OLEUI_ERR_STANDARDMAX+2)
00059 #define OLEUI_BZ_CALLUNBLOCKED          (OLEUI_ERR_STANDARDMAX+3)
00060 
00061 #define OLEUI_FALSE   0
00062 #define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
00063 #define OLEUI_OK      1 /* OK button pressed */
00064 #define OLEUI_CANCEL  2 /* Cancel button pressed */
00065 
00066 #define OLEUI_ERR_STANDARDMIN           100
00067 #define OLEUI_ERR_OLEMEMALLOC           100
00068 #define OLEUI_ERR_STRUCTURENULL         101
00069 #define OLEUI_ERR_STRUCTUREINVALID      102
00070 #define OLEUI_ERR_CBSTRUCTINCORRECT     103
00071 #define OLEUI_ERR_HWNDOWNERINVALID      104
00072 #define OLEUI_ERR_LPSZCAPTIONINVALID    105
00073 #define OLEUI_ERR_LPFNHOOKINVALID       106
00074 #define OLEUI_ERR_HINSTANCEINVALID      107
00075 #define OLEUI_ERR_LPSZTEMPLATEINVALID   108
00076 #define OLEUI_ERR_HRESOURCEINVALID      109
00077 #define OLEUI_ERR_FINDTEMPLATEFAILURE   110
00078 #define OLEUI_ERR_LOADTEMPLATEFAILURE   111
00079 #define OLEUI_ERR_DIALOGFAILURE         112
00080 #define OLEUI_ERR_LOCALMEMALLOC         113
00081 #define OLEUI_ERR_GLOBALMEMALLOC        114
00082 #define OLEUI_ERR_LOADSTRING            115
00083 #define OLEUI_ERR_STANDARDMAX           116
00084 
00085 typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
00086 
00087 /*****************************************************************************
00088  * Registered Message Names
00089  */
00090 #define SZOLEUI_MSG_HELPA              "OLEUI_MSG_HELP"
00091 #define SZOLEUI_MSG_ENDDIALOGA         "OLEUI_MSG_ENDDIALOG"
00092 #define SZOLEUI_MSG_BROWSEA            "OLEUI_MSG_BROWSE"
00093 #define SZOLEUI_MSG_CHANGEICONA        "OLEUI_MSG_CHANGEICON"
00094 #define SZOLEUI_MSG_CLOSEBUSYDIALOGA   "OLEUI_MSG_CLOSEBUSYDIALOG"
00095 #define SZOLEUI_MSG_CONVERTA           "OLEUI_MSG_CONVERT"
00096 #define SZOLEUI_MSG_CHANGESOURCEA      "OLEUI_MSG_CHANGESOURCE"
00097 #define SZOLEUI_MSG_ADDCONTROLA        "OLEUI_MSG_ADDCONTROL"
00098 #define SZOLEUI_MSG_BROWSE_OFNA        "OLEUI_MSG_BROWSE_OFN"
00099 #if defined(__GNUC__)
00100 # define SZOLEUI_MSG_HELPW             (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 }
00101 # define SZOLEUI_MSG_ENDDIALOGW        (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 }
00102 # define SZOLEUI_MSG_BROWSEW           (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 }
00103 # define SZOLEUI_MSG_CHANGEICONW       (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 }
00104 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW  (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 }
00105 # define SZOLEUI_MSG_CONVERTW          (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 }
00106 # define SZOLEUI_MSG_CHANGESOURCEW     (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 }
00107 # define SZOLEUI_MSG_ADDCONTROLW       (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 }
00108 # define SZOLEUI_MSG_BROWSE_OFNW       (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 }
00109 #elif defined(_MSC_VER)
00110 # define SZOLEUI_MSG_HELPW              L"OLEUI_MSG_HELP"
00111 # define SZOLEUI_MSG_ENDDIALOGW         L"OLEUI_MSG_ENDDIALOG"
00112 # define SZOLEUI_MSG_BROWSEW            L"OLEUI_MSG_BROWSE"
00113 # define SZOLEUI_MSG_CHANGEICONW        L"OLEUI_MSG_CHANGEICON"
00114 # define SZOLEUI_MSG_CLOSEBUSYDIALOGW   L"OLEUI_MSG_CLOSEBUSYDIALOG"
00115 # define SZOLEUI_MSG_CONVERTW           L"OLEUI_MSG_CONVERT"
00116 # define SZOLEUI_MSG_CHANGESOURCEW      L"OLEUI_MSG_CHANGESOURCE"
00117 # define SZOLEUI_MSG_ADDCONTROLW        L"OLEUI_MSG_ADDCONTROL"
00118 # define SZOLEUI_MSG_BROWSE_OFNW        L"OLEUI_MSG_BROWSE_OFN"
00119 #else
00120 static const WCHAR SZOLEUI_MSG_HELPW[]             = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
00121 static const WCHAR SZOLEUI_MSG_ENDDIALOGW[]        = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
00122 static const WCHAR SZOLEUI_MSG_BROWSEW[]           = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
00123 static const WCHAR SZOLEUI_MSG_CHANGEICONW[]       = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','I','C','O','N',0 };
00124 static const WCHAR SZOLEUI_MSG_CLOSEBUSYDIALOGW[]  = { 'O','L','E','U','I','_','M','S','G','_','C','L','O','S','E','B','U','S','Y','D','I','A','L','O','G',0 };
00125 static const WCHAR SZOLEUI_MSG_CONVERTW[]          = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
00126 static const WCHAR SZOLEUI_MSG_CHANGESOURCEW[]     = { 'O','L','E','U','I','_','M','S','G','_','C','H','A','N','G','E','S','O','U','R','C','E',0 };
00127 static const WCHAR SZOLEUI_MSG_ADDCONTROLW[]       = { 'O','L','E','U','I','_','M','S','G','_','A','D','D','C','O','N','T','R','O','L',0 };
00128 static const WCHAR SZOLEUI_MSG_BROWSE_OFNW[]       = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E','_','O','F','N',0 };
00129 #endif
00130 #define SZOLEUI_MSG_HELP             WINELIB_NAME_AW(SZOLEUI_MSG_HELP)
00131 #define SZOLEUI_MSG_ENDDIALOG        WINELIB_NAME_AW(SZOLEUI_MSG_ENDDIALOG)
00132 #define SZOLEUI_MSG_BROWSE           WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE)
00133 #define SZOLEUI_MSG_CHANGEICON       WINELIB_NAME_AW(SZOLEUI_MSG_CHANGEICON)
00134 #define SZOLEUI_MSG_CLOSEBUSYDIALOG  WINELIB_NAME_AW(SZOLEUI_MSG_CLOSEBUSYDIALOG)
00135 #define SZOLEUI_MSG_CONVERT          WINELIB_NAME_AW(SZOLEUI_MSG_CONVERT)
00136 #define SZOLEUI_MSG_CHANGESOURCE     WINELIB_NAME_AW(SZOLEUI_MSG_CHANGESOURCE)
00137 #define SZOLEUI_MSG_ADDCONTROL       WINELIB_NAME_AW(SZOLEUI_MSG_ADDCONTROL)
00138 #define SZOLEUI_MSG_BROWSE_OFN       WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE_OFN)
00139 
00140 
00141 /*****************************************************************************
00142  * INSERT OBJECT DIALOG
00143  */
00144 typedef struct tagOLEUIINSERTOBJECTA
00145 {
00146     DWORD           cbStruct;
00147     DWORD           dwFlags;
00148     HWND            hWndOwner;
00149     LPCSTR          lpszCaption;
00150     LPFNOLEUIHOOK   lpfnHook;
00151     LPARAM          lCustData;
00152     HINSTANCE       hInstance;
00153     LPCSTR          lpszTemplate;
00154     HRSRC           hResource;
00155     CLSID           clsid;
00156     LPSTR           lpszFile;
00157     UINT            cchFile;
00158     UINT            cClsidExclude;
00159     LPCLSID         lpClsidExclude;
00160     IID             iid;
00161     DWORD           oleRender;
00162     LPFORMATETC     lpFormatEtc;
00163     LPOLECLIENTSITE lpIOleClientSite;
00164     LPSTORAGE       lpIStorage;
00165     LPVOID          *ppvObj;
00166     SCODE           sc;
00167     HGLOBAL         hMetaPict;
00168 } OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
00169 
00170 typedef struct tagOLEUIINSERTOBJECTW
00171 {
00172     DWORD           cbStruct;
00173     DWORD           dwFlags;
00174     HWND            hWndOwner;
00175     LPCWSTR         lpszCaption;
00176     LPFNOLEUIHOOK   lpfnHook;
00177     LPARAM          lCustData;
00178     HINSTANCE       hInstance;
00179     LPCWSTR         lpszTemplate;
00180     HRSRC           hResource;
00181     CLSID           clsid;
00182     LPWSTR          lpszFile;
00183     UINT            cchFile;
00184     UINT            cClsidExclude;
00185     LPCLSID         lpClsidExclude;
00186     IID             iid;
00187     DWORD           oleRender;
00188     LPFORMATETC     lpFormatEtc;
00189     LPOLECLIENTSITE lpIOleClientSite;
00190     LPSTORAGE       lpIStorage;
00191     LPVOID          *ppvObj;
00192     SCODE           sc;
00193     HGLOBAL         hMetaPict;
00194 } OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
00195 
00196 DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
00197 DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
00198 DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
00199 
00200 #define IOF_SHOWHELP                    0x00000001L
00201 #define IOF_SELECTCREATENEW             0x00000002L
00202 #define IOF_SELECTCREATEFROMFILE        0x00000004L
00203 #define IOF_CHECKLINK                   0x00000008L
00204 #define IOF_CHECKDISPLAYASICON          0x00000010L
00205 #define IOF_CREATENEWOBJECT             0x00000020L
00206 #define IOF_CREATEFILEOBJECT            0x00000040L
00207 #define IOF_CREATELINKOBJECT            0x00000080L
00208 #define IOF_DISABLELINK                 0x00000100L
00209 #define IOF_VERIFYSERVERSEXIST          0x00000200L
00210 #define IOF_DISABLEDISPLAYASICON        0x00000400L
00211 #define IOF_HIDECHANGEICON              0x00000800L
00212 #define IOF_SHOWINSERTCONTROL           0x00001000L
00213 #define IOF_SELECTCREATECONTROL         0x00002000L
00214 
00215 /*****************************************************************************
00216  * CONVERT DIALOG
00217  */
00218 typedef struct tagOLEUICONVERTA
00219 {
00220     DWORD           cbStruct;
00221     DWORD           dwFlags;
00222     HWND            hWndOwner;
00223     LPCSTR          lpszCaption;
00224     LPFNOLEUIHOOK   lpfnHook;
00225     LPARAM          lCustData;
00226     HINSTANCE       hInstance;
00227     LPCSTR          lpszTemplate;
00228     HRSRC           hResource;
00229     CLSID           clsid;
00230     CLSID           clsidConvertDefault;
00231     CLSID           clsidActivateDefault;
00232     CLSID           clsidNew;
00233     DWORD           dvAspect;
00234     WORD            wFormat;
00235     BOOL            fIsLinkedObject;
00236     HGLOBAL         hMetaPict;
00237     LPSTR           lpszUserType;
00238     BOOL            fObjectsIconChanged;
00239     LPSTR           lpszDefLabel;
00240     UINT            cClsidExclude;
00241     LPCLSID         lpClsidExclude;
00242 } OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
00243 
00244 typedef struct tagOLEUICONVERTW
00245 {
00246     DWORD           cbStruct;
00247     DWORD           dwFlags;
00248     HWND            hWndOwner;
00249     LPCWSTR         lpszCaption;
00250     LPFNOLEUIHOOK   lpfnHook;
00251     LPARAM          lCustData;
00252     HINSTANCE       hInstance;
00253     LPCWSTR         lpszTemplate;
00254     HRSRC           hResource;
00255     CLSID           clsid;
00256     CLSID           clsidConvertDefault;
00257     CLSID           clsidActivateDefault;
00258     CLSID           clsidNew;
00259     DWORD           dvAspect;
00260     WORD            wFormat;
00261     BOOL            fIsLinkedObject;
00262     HGLOBAL         hMetaPict;
00263     LPWSTR          lpszUserType;
00264     BOOL            fObjectsIconChanged;
00265     LPWSTR          lpszDefLabel;
00266     UINT            cClsidExclude;
00267     LPCLSID         lpClsidExclude;
00268 } OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
00269 
00270 DECL_WINELIB_TYPE_AW(OLEUICONVERT)
00271 DECL_WINELIB_TYPE_AW(POLEUICONVERT)
00272 DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
00273 
00274 #define CF_SHOWHELPBUTTON               0x00000001L
00275 #define CF_SETCONVERTDEFAULT            0x00000002L
00276 #define CF_SETACTIVATEDEFAULT           0x00000004L
00277 #define CF_SELECTCONVERTTO              0x00000008L
00278 #define CF_SELECTACTIVATEAS             0x00000010L
00279 #define CF_DISABLEDISPLAYASICON         0x00000020L
00280 #define CF_DISABLEACTIVATEAS            0x00000040L
00281 #define CF_HIDECHANGEICON               0x00000080L
00282 #define CF_CONVERTONLY                  0x00000100L
00283 
00284 /*****************************************************************************
00285  * CHANGE ICON DIALOG
00286  */
00287 typedef struct tagOLEUICHANGEICONA
00288 {
00289     DWORD           cbStruct;
00290     DWORD           dwFlags;
00291     HWND            hWndOwner;
00292     LPCSTR          lpszCaption;
00293     LPFNOLEUIHOOK   lpfnHook;
00294     LPARAM          lCustData;
00295     HINSTANCE       hInstance;
00296     LPCSTR          lpszTemplate;
00297     HRSRC           hResource;
00298     HGLOBAL         hMetaPict;
00299     CLSID           clsid;
00300     CHAR            szIconExe[MAX_PATH];
00301     INT             cchIconExe;
00302 } OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
00303 
00304 typedef struct tagOLEUICHANGEICONW
00305 {
00306     DWORD           cbStruct;
00307     DWORD           dwFlags;
00308     HWND            hWndOwner;
00309     LPCWSTR         lpszCaption;
00310     LPFNOLEUIHOOK   lpfnHook;
00311     LPARAM          lCustData;
00312     HINSTANCE       hInstance;
00313     LPCWSTR         lpszTemplate;
00314     HRSRC           hResource;
00315     HGLOBAL         hMetaPict;
00316     CLSID           clsid;
00317     WCHAR           szIconExe[MAX_PATH];
00318     INT             cchIconExe;
00319 } OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
00320 
00321 DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
00322 DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
00323 DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
00324 
00325 
00326 #define CIF_SHOWHELP                    0x00000001L
00327 #define CIF_SELECTCURRENT               0x00000002L
00328 #define CIF_SELECTDEFAULT               0x00000004L
00329 #define CIF_SELECTFROMFILE              0x00000008L
00330 #define CIF_USEICONEXE                  0x00000010L
00331 
00332 /*****************************************************************************
00333  * PASTE SPECIAL DIALOG
00334  */
00335 
00336 typedef enum tagOLEUIPASTEFLAG
00337 {
00338    OLEUIPASTE_ENABLEICON    = 2048,
00339    OLEUIPASTE_PASTEONLY     = 0,
00340    OLEUIPASTE_PASTE         = 512,
00341    OLEUIPASTE_LINKANYTYPE   = 1024,
00342    OLEUIPASTE_LINKTYPE1     = 1,
00343    OLEUIPASTE_LINKTYPE2     = 2,
00344    OLEUIPASTE_LINKTYPE3     = 4,
00345    OLEUIPASTE_LINKTYPE4     = 8,
00346    OLEUIPASTE_LINKTYPE5     = 16,
00347    OLEUIPASTE_LINKTYPE6     = 32,
00348    OLEUIPASTE_LINKTYPE7     = 64,
00349    OLEUIPASTE_LINKTYPE8     = 128
00350 } OLEUIPASTEFLAG;
00351 
00352 typedef struct tagOLEUIPASTEENTRYA
00353 {
00354    FORMATETC        fmtetc;
00355    LPCSTR           lpstrFormatName;
00356    LPCSTR           lpstrResultText;
00357    DWORD            dwFlags;
00358    DWORD            dwScratchSpace;
00359 } OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
00360 
00361 typedef struct tagOLEUIPASTEENTRYW
00362 {
00363    FORMATETC        fmtetc;
00364    LPCWSTR          lpstrFormatName;
00365    LPCWSTR          lpstrResultText;
00366    DWORD            dwFlags;
00367    DWORD            dwScratchSpace;
00368 } OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
00369 
00370 DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
00371 DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
00372 DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
00373 
00374 typedef struct tagOLEUIPASTESPECIALA
00375 {
00376     DWORD           cbStruct;
00377     DWORD           dwFlags;
00378     HWND            hWndOwner;
00379     LPCSTR          lpszCaption;
00380     LPFNOLEUIHOOK   lpfnHook;
00381     LPARAM          lCustData;
00382     HINSTANCE       hInstance;
00383     LPCSTR          lpszTemplate;
00384     HRSRC           hResource;
00385     LPDATAOBJECT    lpSrcDataObj;
00386     LPOLEUIPASTEENTRYA arrPasteEntries;
00387     INT             cPasteEntries;
00388     UINT*           arrLinkTypes;
00389     INT             cLinkTypes;
00390     UINT            cClsidExclude;
00391     LPCLSID         lpClsidExclude;
00392     INT             nSelectedIndex;
00393     BOOL            fLink;
00394     HGLOBAL         hMetaPict;
00395     SIZEL           sizel;
00396 } OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
00397 
00398 typedef struct tagOLEUIPASTESPECIALW
00399 {
00400     DWORD           cbStruct;
00401     DWORD           dwFlags;
00402     HWND            hWndOwner;
00403     LPCWSTR         lpszCaption;
00404     LPFNOLEUIHOOK   lpfnHook;
00405     LPARAM          lCustData;
00406     HINSTANCE       hInstance;
00407     LPCWSTR         lpszTemplate;
00408     HRSRC           hResource;
00409     LPDATAOBJECT    lpSrcDataObj;
00410     LPOLEUIPASTEENTRYW arrPasteEntries;
00411     INT             cPasteEntries;
00412     UINT*           arrLinkTypes;
00413     INT             cLinkTypes;
00414     UINT            cClsidExclude;
00415     LPCLSID         lpClsidExclude;
00416     INT             nSelectedIndex;
00417     BOOL            fLink;
00418     HGLOBAL         hMetaPict;
00419     SIZEL           sizel;
00420 } OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
00421 
00422 DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
00423 DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
00424 DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
00425 
00426 #define PS_MAXLINKTYPES                 8
00427 
00428 #define PSF_SHOWHELP                    0x00000001L
00429 #define PSF_SELECTPASTE                 0x00000002L
00430 #define PSF_SELECTPASTELINK             0x00000004L
00431 
00432 #define PSF_CHECKDISPLAYASICON          0x00000008L
00433 #define PSF_DISABLEDISPLAYASICON        0x00000010L
00434 #define PSF_HIDECHANGEICON              0x00000020L
00435 #define PSF_STAYONCLIPBOARDCHANGE       0x00000040L
00436 #define PSF_NOREFRESHDATAOBJECT         0x00000080L
00437 
00438 #define OLEUI_IOERR_SRCDATAOBJECTINVALID    (OLEUI_ERR_STANDARDMAX+0)
00439 #define OLEUI_IOERR_ARRPASTEENTRIESINVALID  (OLEUI_ERR_STANDARDMAX+1)
00440 #define OLEUI_IOERR_ARRLINKTYPESINVALID     (OLEUI_ERR_STANDARDMAX+2)
00441 #define OLEUI_PSERR_CLIPBOARDCHANGED        (OLEUI_ERR_STANDARDMAX+3)
00442 #define OLEUI_PSERR_GETCLIPBOARDFAILED      (OLEUI_ERR_STANDARDMAX+4)
00443 
00444 /* Paste Special dialog resource ids */
00445 #define IDD_PASTESPECIAL       1003
00446 #define IDD_PASTESPECIAL4      1108
00447 
00448 /* Paste Special dialog control ids */
00449 #define IDC_PS_PASTE           500
00450 #define IDC_PS_PASTELINK       501
00451 #define IDC_PS_SOURCETEXT      502
00452 #define IDC_PS_PASTELIST       503
00453 #define IDC_PS_PASTELINKLIST   504
00454 #define IDC_PS_DISPLAYLIST     505
00455 #define IDC_PS_DISPLAYASICON   506
00456 #define IDC_PS_ICONDISPLAY     507
00457 #define IDC_PS_CHANGEICON      508
00458 #define IDC_PS_RESULTIMAGE     509
00459 #define IDC_PS_RESULTTEXT      510
00460 
00461 /*****************************************************************************
00462  * EDIT LINKS DIALOG
00463  */
00464 
00465 #define ELF_SHOWHELP               0x00000001L
00466 #define ELF_DISABLEUPDATENOW       0x00000002L
00467 #define ELF_DISABLEOPENSOURCE      0x00000004L
00468 #define ELF_DISABLECHANGESOURCE    0x00000008L
00469 #define ELF_DISABLECANCELLINK      0x00000010L
00470 
00471 typedef struct tagOLEUIEDITLINKSW
00472 {
00473     DWORD           cbStruct;
00474     DWORD           dwFlags;
00475     HWND            hWndOwner;
00476     LPCWSTR         lpszCaption;
00477     LPFNOLEUIHOOK   lpfnHook;
00478     LPARAM          lCustData;
00479     HINSTANCE       hInstance;
00480     LPCWSTR         lpszTemplate;
00481     HRSRC           hResource;
00482     LPOLEUILINKCONTAINERW lpOleUILinkContainer;
00483 } OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
00484 
00485 typedef struct tagOLEUIEDITLINKSA
00486 {
00487     DWORD           cbStruct;
00488     DWORD           dwFlags;
00489     HWND            hWndOwner;
00490     LPCSTR          lpszCaption;
00491     LPFNOLEUIHOOK   lpfnHook;
00492     LPARAM          lCustData;
00493     HINSTANCE       hInstance;
00494     LPCSTR          lpszTemplate;
00495     HRSRC           hResource;
00496     LPOLEUILINKCONTAINERA lpOleUILinkContainer;
00497 } OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
00498 
00499 DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
00500 DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
00501 DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
00502 
00503 
00504 /***********************************************************************************
00505  * BUSY DIALOG
00506  */
00507 typedef struct tagOLEUIBUSYA
00508 {
00509     DWORD           cbStruct;
00510     DWORD           dwFlags;
00511     HWND            hWndOwner;
00512     LPCSTR          lpszCaption;
00513     LPFNOLEUIHOOK   lpfnHook;
00514     LPARAM          lCustData;
00515     HINSTANCE       hInstance;
00516     LPCSTR          lpszTemplate;
00517     HRSRC           hResource;
00518     HTASK           hTask;
00519     HWND*           lphWndDialog;
00520 } OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
00521 
00522 typedef struct tagOLEUIBUSYW
00523 {
00524     DWORD           cbStruct;
00525     DWORD           dwFlags;
00526     HWND            hWndOwner;
00527     LPCWSTR         lpszCaption;
00528     LPFNOLEUIHOOK   lpfnHook;
00529     LPARAM          lCustData;
00530     HINSTANCE       hInstance;
00531     LPCWSTR         lpszTemplate;
00532     HRSRC           hResource;
00533     HTASK           hTask;
00534     HWND*           lphWndDialog;
00535 } OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
00536 
00537 DECL_WINELIB_TYPE_AW(OLEUIBUSY)
00538 DECL_WINELIB_TYPE_AW(POLEUIBUSY)
00539 DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
00540 
00541 
00542 #define BZ_DISABLECANCELBUTTON          0x00000001L
00543 #define BZ_DISABLESWITCHTOBUTTON        0x00000002L
00544 #define BZ_DISABLERETRYBUTTON           0x00000004L
00545 #define BZ_NOTRESPONDINGDIALOG          0x00000008L
00546 
00547 /***********************************************************************************
00548  * OBJECT PROPERTIES DIALOG
00549  */
00550 
00551 struct tagOLEUIOBJECTPROPSW;
00552 struct tagOLEUIOBJECTPROPSA;
00553 
00554 typedef struct tagOLEUIGNRLPROPSA
00555 {
00556     DWORD           cbStruct;
00557     DWORD           dwFlags;
00558     DWORD           dwReserved1[2];
00559     LPFNOLEUIHOOK   lpfnHook;
00560     LPARAM          lCustData;
00561     DWORD           dwReserved2[3];
00562     struct tagOLEUIOBJECTPROPSA* lpOP;
00563 
00564 } OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
00565 
00566 typedef struct tagOLEUIGNRLPROPSW
00567 {
00568     DWORD           cbStruct;
00569     DWORD           dwFlags;
00570     DWORD           dwReserved1[2];
00571     LPFNOLEUIHOOK   lpfnHook;
00572     LPARAM          lCustData;
00573     DWORD           dwReserved2[3];
00574     struct tagOLEUIOBJECTPROPSW* lpOP;
00575 } OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
00576 
00577 DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
00578 DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
00579 DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
00580 
00581 typedef struct tagOLEUIVIEWPROPSA
00582 {
00583     DWORD           cbStruct;
00584     DWORD           dwFlags;
00585     DWORD           dwReserved1[2];
00586     LPFNOLEUIHOOK   lpfnHook;
00587     LPARAM          lCustData;
00588     DWORD           dwReserved2[3];
00589     struct tagOLEUIOBJECTPROPSA* lpOP;
00590     INT             nScaleMin;
00591     INT             nScaleMax;
00592 } OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
00593 
00594 typedef struct tagOLEUIVIEWPROPSW
00595 {
00596     DWORD           cbStruct;
00597     DWORD           dwFlags;
00598     DWORD           dwReserved1[2];
00599     LPFNOLEUIHOOK   lpfnHook;
00600     LPARAM          lCustData;
00601     DWORD           dwReserved2[3];
00602     struct tagOLEUIOBJECTPROPSW* lpOP;
00603     INT             nScaleMin;
00604     INT             nScaleMax;
00605 } OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
00606 
00607 DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
00608 DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
00609 DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
00610 
00611 
00612 #define VPF_SELECTRELATIVE          0x00000001L
00613 #define VPF_DISABLERELATIVE         0x00000002L
00614 #define VPF_DISABLESCALE            0x00000004L
00615 
00616 typedef struct tagOLEUILINKPROPSA
00617 {
00618     DWORD           cbStruct;
00619     DWORD           dwFlags;
00620     DWORD           dwReserved1[2];
00621     LPFNOLEUIHOOK   lpfnHook;
00622     LPARAM          lCustData;
00623     DWORD           dwReserved2[3];
00624     struct tagOLEUIOBJECTPROPSA* lpOP;
00625 } OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
00626 
00627 typedef struct tagOLEUILINKPROPSW
00628 {
00629     DWORD           cbStruct;
00630     DWORD           dwFlags;
00631     DWORD           dwReserved1[2];
00632     LPFNOLEUIHOOK   lpfnHook;
00633     LPARAM          lCustData;
00634     DWORD           dwReserved2[3];
00635     struct tagOLEUIOBJECTPROPSW* lpOP;
00636 } OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
00637 
00638 DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
00639 DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
00640 DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
00641 
00642 typedef struct tagOLEUIOBJECTPROPSA
00643 {
00644     DWORD                cbStruct;
00645     DWORD                dwFlags;
00646     LPPROPSHEETHEADERA   lpPS;
00647     DWORD                dwObject;
00648     LPOLEUIOBJINFOA      lpObjInfo;
00649     DWORD                dwLink;
00650     LPOLEUILINKINFOA     lpLinkInfo;
00651     LPOLEUIGNRLPROPSA    lpGP;
00652     LPOLEUIVIEWPROPSA    lpVP;
00653     LPOLEUILINKPROPSA    lpLP;
00654 } OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
00655 
00656 typedef struct tagOLEUIOBJECTPROPSW
00657 {
00658     DWORD                cbStruct;
00659     DWORD                dwFlags;
00660     LPPROPSHEETHEADERW   lpPS;
00661     DWORD                dwObject;
00662     LPOLEUIOBJINFOW      lpObjInfo;
00663     DWORD                dwLink;
00664     LPOLEUILINKINFOW     lpLinkInfo;
00665     LPOLEUIGNRLPROPSW    lpGP;
00666     LPOLEUIVIEWPROPSW    lpVP;
00667     LPOLEUILINKPROPSW    lpLP;
00668 } OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
00669 
00670 DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
00671 DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
00672 DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
00673 
00674 #define OPF_OBJECTISLINK                0x00000001L
00675 #define OPF_NOFILLDEFAULT               0x00000002L
00676 #define OPF_SHOWHELP                    0x00000004L
00677 #define OPF_DISABLECONVERT              0x00000008L
00678 
00679 
00680 /************************************************************************************
00681  * CHANGE SOURCE DIALOG
00682  */
00683 
00684 
00685 typedef struct tagOLEUICHANGESOURCEW
00686 {
00687     DWORD           cbStruct;
00688     DWORD           dwFlags;
00689     HWND            hWndOwner;
00690     LPCWSTR         lpszCaption;
00691     LPFNOLEUIHOOK   lpfnHook;
00692     LPARAM          lCustData;
00693     HINSTANCE       hInstance;
00694     LPCWSTR         lpszTemplate;
00695     HRSRC           hResource;
00696     OPENFILENAMEW*lpOFN;
00697     DWORD           dwReserved1[4];
00698     LPOLEUILINKCONTAINERW lpOleUILinkContainer;
00699     DWORD           dwLink;
00700     LPWSTR          lpszDisplayName;
00701     ULONG           nFileLength;
00702     LPWSTR          lpszFrom;
00703     LPWSTR          lpszTo;
00704 } OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
00705 
00706 
00707 typedef struct tagOLEUICHANGESOURCEA
00708 {
00709     DWORD           cbStruct;
00710     DWORD           dwFlags;
00711     HWND            hWndOwner;
00712     LPCSTR          lpszCaption;
00713     LPFNOLEUIHOOK   lpfnHook;
00714     LPARAM          lCustData;
00715     HINSTANCE       hInstance;
00716     LPCSTR          lpszTemplate;
00717     HRSRC           hResource;
00718     OPENFILENAMEA*  lpOFN;
00719     DWORD           dwReserved1[4];
00720     LPOLEUILINKCONTAINERA lpOleUILinkContainer;
00721     DWORD           dwLink;
00722     LPSTR           lpszDisplayName;
00723     ULONG           nFileLength;
00724     LPSTR           lpszFrom;
00725     LPSTR           lpszTo;
00726 } OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
00727 
00728 
00729 DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
00730 DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
00731 DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
00732 
00733 /* Change Source Dialog flags */
00734 #define CSF_SHOWHELP                    0x00000001L
00735 #define CSF_VALIDSOURCE                 0x00000002L
00736 #define CSF_ONLYGETSOURCE               0x00000004L
00737 #define CSF_EXPLORER                    0x00000008L
00738 
00739 
00740 /*****************************************************************************
00741  * IOleUILinkContainer interface
00742  */
00743 #define INTERFACE   IOleUILinkContainerA
00744 DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
00745 {
00746     /*** IUnknown methods ***/
00747     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00748     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00749     STDMETHOD_(ULONG,Release)(THIS) PURE;
00750     /*** IOleUILinkContainerA methods ***/
00751     STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
00752     STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
00753     STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
00754     STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
00755                 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
00756     STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
00757                 LPSTR *lplpszFullLinkType,  LPSTR *lplpszShortLinkType,
00758                 BOOL *lpfSourceAvailable,  BOOL *lpfIsSelected) PURE;
00759     STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
00760     STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
00761     STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
00762 };
00763 #undef INTERFACE
00764 
00765 #define INTERFACE   IOleUILinkContainerW
00766 DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
00767 {
00768     /*** IUnknown methods ***/
00769     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00770     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00771     STDMETHOD_(ULONG,Release)(THIS) PURE;
00772     /*** IOleUILinkContainerW methods ***/
00773     STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
00774     STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,  DWORD dwUpdateOpt) PURE;
00775     STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,  DWORD *lpdwUpdateOpt) PURE;
00776     STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,  LPWSTR lpszDisplayName,
00777                 ULONG lenFileName,  ULONG *pchEaten,  BOOL fValidateSource) PURE;
00778     STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
00779                 LPWSTR *lplpszFullLinkType,  LPWSTR *lplpszShortLinkType,
00780                 BOOL *lpfSourceAvailable,  BOOL *lpfIsSelected) PURE;
00781     STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
00782     STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
00783     STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
00784 };
00785 #undef INTERFACE
00786 
00787 DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
00788 DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
00789 DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
00790 
00791 #if !defined(__cplusplus) || defined(CINTERFACE)
00792 /*** IUnknown methods ***/
00793 #define IOleUILinkContainer_QueryInterface(p,a,b)          (p)->lpVtbl->QueryInterface(p,a,b)
00794 #define IOleUILinkContainer_AddRef(p)                      (p)->lpVtbl->AddRef(p)
00795 #define IOleUILinkContainer_Release(p)                     (p)->lpVtbl->Release(p)
00796 /*** IOleUILinkContainer methods ***/
00797 #define IOleUILinkContainer_GetNextLink(p,a)               (p)->lpVtbl->GetNextLink(p,a)
00798 #define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b)    (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
00799 #define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b)    (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
00800 #define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e)     (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
00801 #define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
00802 #define IOleUILinkContainer_OpenLinkSource(p,a)            (p)->lpVtbl->OpenLinkSource(p,a)
00803 #define IOleUILinkContainer_UpdateLink(p,a,b,c)            (p)->lpVtbl->UpdateLink(p,a,b,c)
00804 #define IOleUILinkContainer_CancelLink(p,a)                (p)->lpVtbl->CancelLink(p,a)
00805 #endif
00806 
00807 
00808 /*****************************************************************************
00809  * IOleUILinkInfo interface
00810  */
00811 #define INTERFACE   IOleUILinkInfoA
00812 DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
00813 {
00814     /*** IUnknown methods ***/
00815     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00816     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00817     STDMETHOD_(ULONG,Release)(THIS) PURE;
00818     /*** IOleUILinkContainerA methods ***/
00819     STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
00820     STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
00821     STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
00822     STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
00823                 ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
00824     STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
00825                 LPSTR *lplpszFullLinkType,  LPSTR *lplpszShortLinkType,
00826                 BOOL *lpfSourceAvailable,  BOOL *lpfIsSelected) PURE;
00827     STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
00828     STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
00829     STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
00830     /*** IOleUILinkInfoA methods ***/
00831     STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,  FILETIME *lpLastUpdate) PURE;
00832 };
00833 #undef INTERFACE
00834 
00835 #define INTERFACE   IOleUILinkInfoW
00836 DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
00837 {
00838     /*** IUnknown methods ***/
00839     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00840     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00841     STDMETHOD_(ULONG,Release)(THIS) PURE;
00842     /*** IOleUILinkContainerW methods ***/
00843     STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
00844     STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink,  DWORD dwUpdateOpt) PURE;
00845     STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink,  DWORD *lpdwUpdateOpt) PURE;
00846     STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink,  LPWSTR lpszDisplayName,
00847                 ULONG lenFileName,  ULONG *pchEaten,  BOOL fValidateSource) PURE;
00848     STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
00849                 LPWSTR *lplpszFullLinkType,  LPWSTR *lplpszShortLinkType,
00850                 BOOL *lpfSourceAvailable,  BOOL *lpfIsSelected) PURE;
00851     STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
00852     STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
00853     STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
00854     /*** IOleUILinkInfoW methods ***/
00855     STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink,  FILETIME *lpLastUpdate) PURE;
00856 };
00857 #undef  INTERFACE
00858 
00859 DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
00860 DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
00861 DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
00862 
00863 #if !defined(__cplusplus) || defined(CINTERFACE)
00864 /*** IUnknown methods ***/
00865 #define IOleUILinkInfo_QueryInterface(p,a,b)          (p)->lpVtbl->QueryInterface(p,a,b)
00866 #define IOleUILinkInfo_AddRef(p)                      (p)->lpVtbl->AddRef(p)
00867 #define IOleUILinkInfo_Release(p)                     (p)->lpVtbl->Release(p)
00868 /*** IOleUILinkContainer methods ***/
00869 #define IOleUILinkInfo_GetNextLink(p,a)               (p)->lpVtbl->GetNextLink(p,a)
00870 #define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b)    (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
00871 #define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b)    (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
00872 #define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e)     (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
00873 #define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
00874 #define IOleUILinkInfo_OpenLinkSource(p,a)            (p)->lpVtbl->OpenLinkSource(p,a)
00875 #define IOleUILinkInfo_UpdateLink(p,a,b,c)            (p)->lpVtbl->UpdateLink(p,a,b,c)
00876 #define IOleUILinkInfo_CancelLink(p,a)                (p)->lpVtbl->CancelLink(p,a)
00877 /*** IOleUILinkInfo methods ***/
00878 #define IOleUILinkInfo_GetLastUpdate(p,a,b)           (p)->lpVtbl->GetLastUpdate(p,a,b)
00879 #endif
00880 
00881 
00882 /*****************************************************************************
00883  * IOleUIObjInfo interface
00884  */
00885 #define INTERFACE   IOleUIObjInfoA
00886 DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
00887 {
00888     /*** IUnknown methods ***/
00889     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00890     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00891     STDMETHOD_(ULONG,Release)(THIS) PURE;
00892     /*** IOleUIObjInfoA methods ***/
00893     STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
00894                 LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
00895     STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
00896                 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
00897     STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,  REFCLSID clsidNew) PURE;
00898     STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
00899     STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
00900                 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
00901 };
00902 #undef INTERFACE
00903 
00904 #define INTERFACE   IOleUIObjInfoW
00905 DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
00906 {
00907     /*** IUnknown methods ***/
00908     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00909     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00910     STDMETHOD_(ULONG,Release)(THIS) PURE;
00911     /*** IOleUIObjInfoW methods ***/
00912     STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
00913                 LPWSTR *lplpszType,  LPWSTR *lplpszShortType,  LPWSTR *lplpszLocation) PURE;
00914     STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
00915                 CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
00916     STDMETHOD(ConvertObject)(THIS_ DWORD dwObject,  REFCLSID clsidNew) PURE;
00917     STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
00918     STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
00919                 INT nCurrentScale, BOOL bRelativeToOrig) PURE;
00920 };
00921 #undef INTERFACE
00922 
00923 DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
00924 DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
00925 DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
00926 
00927 #if !defined(__cplusplus) || defined(CINTERFACE)
00928 /*** IUnknown methods ***/
00929 #define IOleUIObjInfo_QueryInterface(p,a,b)            (p)->lpVtbl->QueryInterface(p,a,b)
00930 #define IOleUIObjInfo_AddRef(p)                        (p)->lpVtbl->AddRef(p)
00931 #define IOleUIObjInfo_Release(p)                       (p)->lpVtbl->Release(p)
00932 /*** IOleUIObjInfo methods ***/
00933 #define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f)     (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
00934 #define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f)    (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
00935 #define IOleUIObjInfo_ConvertObject(p,a,b)             (p)->lpVtbl->ConvertObject(p,a,b)
00936 #define IOleUIObjInfo_GetViewInfo(p,a,b,c,d)           (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
00937 #define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e)         (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
00938 #endif
00939 
00940 UINT WINAPI  OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
00941 UINT WINAPI  OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
00942 #define      OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
00943 UINT WINAPI  OleUIConvertA(LPOLEUICONVERTA);
00944 UINT WINAPI  OleUIConvertW(LPOLEUICONVERTW);
00945 #define      OleUIConvert WINELIB_NAME_AW(OleUIConvert)
00946 UINT WINAPI  OleUIChangeIconA(LPOLEUICHANGEICONA);
00947 UINT WINAPI  OleUIChangeIconW(LPOLEUICHANGEICONW);
00948 #define      OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
00949 UINT WINAPI  OleUIBusyA(LPOLEUIBUSYA);
00950 UINT WINAPI  OleUIBusyW(LPOLEUIBUSYW);
00951 #define      OleUIBusy WINELIB_NAME_AW(OleUIBusy)
00952 UINT WINAPI  OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
00953 UINT WINAPI  OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
00954 #define      OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
00955 UINT WINAPI  OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
00956 UINT WINAPI  OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
00957 #define      OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
00958 UINT WINAPI  OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
00959 UINT WINAPI  OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
00960 #define      OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
00961 BOOL WINAPI  OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
00962 BOOL WINAPI  OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
00963 #define      OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
00964 BOOL WINAPI  OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
00965   BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
00966 BOOL WINAPI  OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
00967   BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
00968 #define      OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
00969 UINT WINAPI  OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
00970 UINT WINAPI  OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
00971 #define      OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
00972 INT  __cdecl OleUIPromptUserA(INT,HWND, ...);
00973 INT  __cdecl OleUIPromptUserW(INT,HWND, ...);
00974 #define      OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
00975 
00976 #ifdef __cplusplus
00977 } /* Extern "C" */
00978 #endif
00979 
00980 
00981 #endif  /* __WINE_OLEDLG_H */

Generated on Sat May 26 2012 04:30:58 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.