summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h988
1 files changed, 988 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h
new file mode 100644
index 00000000..2d6b75d2
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/oledlg.h
@@ -0,0 +1,988 @@
+/*
+ * Declarations for OLEDLG
+ *
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#ifndef __WINE_OLEDLG_H
+#define __WINE_OLEDLG_H
+
+#include <windows.h>
+#include <shellapi.h>
+#include <commdlg.h>
+#include <ole2.h>
+#ifndef __WINESRC__
+# include <string.h>
+# include <tchar.h>
+#endif
+#include <dlgs.h>
+#include <prsht.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+typedef struct IOleUILinkContainerA *POLEUILINKCONTAINERA, *LPOLEUILINKCONTAINERA;
+typedef struct IOleUILinkContainerW *POLEUILINKCONTAINERW, *LPOLEUILINKCONTAINERW;
+
+typedef struct IOleUILinkInfoA *POLEUILINKINFOA, *LPOLEUILINKINFOA;
+typedef struct IOleUILinkInfoW *POLEUILINKINFOW, *LPOLEUILINKINFOW;
+
+typedef struct IOleUIObjInfoA *POLEUIOBJINFOA, *LPOLEUIOBJINFOA;
+typedef struct IOleUIObjInfoW *POLEUIOBJINFOW, *LPOLEUIOBJINFOW;
+
+#define IDC_OLEUIHELP 99
+
+
+#define OLEUI_ERR_STANDARDMAX 116
+
+#define OLEUI_BZERR_HTASKINVALID (OLEUI_ERR_STANDARDMAX+0)
+#define OLEUI_BZ_SWITCHTOSELECTED (OLEUI_ERR_STANDARDMAX+1)
+#define OLEUI_BZ_RETRYSELECTED (OLEUI_ERR_STANDARDMAX+2)
+#define OLEUI_BZ_CALLUNBLOCKED (OLEUI_ERR_STANDARDMAX+3)
+
+#define OLEUI_FALSE 0
+#define OLEUI_SUCCESS 1 /* Same as OLEUI_OK */
+#define OLEUI_OK 1 /* OK button pressed */
+#define OLEUI_CANCEL 2 /* Cancel button pressed */
+
+#define OLEUI_ERR_STANDARDMIN 100
+#define OLEUI_ERR_OLEMEMALLOC 100
+#define OLEUI_ERR_STRUCTURENULL 101
+#define OLEUI_ERR_STRUCTUREINVALID 102
+#define OLEUI_ERR_CBSTRUCTINCORRECT 103
+#define OLEUI_ERR_HWNDOWNERINVALID 104
+#define OLEUI_ERR_LPSZCAPTIONINVALID 105
+#define OLEUI_ERR_LPFNHOOKINVALID 106
+#define OLEUI_ERR_HINSTANCEINVALID 107
+#define OLEUI_ERR_LPSZTEMPLATEINVALID 108
+#define OLEUI_ERR_HRESOURCEINVALID 109
+#define OLEUI_ERR_FINDTEMPLATEFAILURE 110
+#define OLEUI_ERR_LOADTEMPLATEFAILURE 111
+#define OLEUI_ERR_DIALOGFAILURE 112
+#define OLEUI_ERR_LOCALMEMALLOC 113
+#define OLEUI_ERR_GLOBALMEMALLOC 114
+#define OLEUI_ERR_LOADSTRING 115
+#define OLEUI_ERR_STANDARDMAX 116
+
+typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
+
+/*****************************************************************************
+ * Registered Message Names
+ */
+#define SZOLEUI_MSG_HELPA "OLEUI_MSG_HELP"
+#define SZOLEUI_MSG_ENDDIALOGA "OLEUI_MSG_ENDDIALOG"
+#define SZOLEUI_MSG_BROWSEA "OLEUI_MSG_BROWSE"
+#define SZOLEUI_MSG_CHANGEICONA "OLEUI_MSG_CHANGEICON"
+#define SZOLEUI_MSG_CLOSEBUSYDIALOGA "OLEUI_MSG_CLOSEBUSYDIALOG"
+#define SZOLEUI_MSG_CONVERTA "OLEUI_MSG_CONVERT"
+#define SZOLEUI_MSG_CHANGESOURCEA "OLEUI_MSG_CHANGESOURCE"
+#define SZOLEUI_MSG_ADDCONTROLA "OLEUI_MSG_ADDCONTROL"
+#define SZOLEUI_MSG_BROWSE_OFNA "OLEUI_MSG_BROWSE_OFN"
+#if defined(__GNUC__)
+# define SZOLEUI_MSG_HELPW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 }
+# define SZOLEUI_MSG_ENDDIALOGW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 }
+# define SZOLEUI_MSG_BROWSEW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 }
+# 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 }
+# 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 }
+# define SZOLEUI_MSG_CONVERTW (const WCHAR []){ 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 }
+# 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 }
+# 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 }
+# 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 }
+#elif defined(_MSC_VER)
+# define SZOLEUI_MSG_HELPW L"OLEUI_MSG_HELP"
+# define SZOLEUI_MSG_ENDDIALOGW L"OLEUI_MSG_ENDDIALOG"
+# define SZOLEUI_MSG_BROWSEW L"OLEUI_MSG_BROWSE"
+# define SZOLEUI_MSG_CHANGEICONW L"OLEUI_MSG_CHANGEICON"
+# define SZOLEUI_MSG_CLOSEBUSYDIALOGW L"OLEUI_MSG_CLOSEBUSYDIALOG"
+# define SZOLEUI_MSG_CONVERTW L"OLEUI_MSG_CONVERT"
+# define SZOLEUI_MSG_CHANGESOURCEW L"OLEUI_MSG_CHANGESOURCE"
+# define SZOLEUI_MSG_ADDCONTROLW L"OLEUI_MSG_ADDCONTROL"
+# define SZOLEUI_MSG_BROWSE_OFNW L"OLEUI_MSG_BROWSE_OFN"
+#else
+static const WCHAR SZOLEUI_MSG_HELPW[] = { 'O','L','E','U','I','_','M','S','G','_','H','E','L','P',0 };
+static const WCHAR SZOLEUI_MSG_ENDDIALOGW[] = { 'O','L','E','U','I','_','M','S','G','_','E','N','D','D','I','A','L','O','G',0 };
+static const WCHAR SZOLEUI_MSG_BROWSEW[] = { 'O','L','E','U','I','_','M','S','G','_','B','R','O','W','S','E',0 };
+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 };
+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 };
+static const WCHAR SZOLEUI_MSG_CONVERTW[] = { 'O','L','E','U','I','_','M','S','G','_','C','O','N','V','E','R','T',0 };
+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 };
+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 };
+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 };
+#endif
+#define SZOLEUI_MSG_HELP WINELIB_NAME_AW(SZOLEUI_MSG_HELP)
+#define SZOLEUI_MSG_ENDDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_ENDDIALOG)
+#define SZOLEUI_MSG_BROWSE WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE)
+#define SZOLEUI_MSG_CHANGEICON WINELIB_NAME_AW(SZOLEUI_MSG_CHANGEICON)
+#define SZOLEUI_MSG_CLOSEBUSYDIALOG WINELIB_NAME_AW(SZOLEUI_MSG_CLOSEBUSYDIALOG)
+#define SZOLEUI_MSG_CONVERT WINELIB_NAME_AW(SZOLEUI_MSG_CONVERT)
+#define SZOLEUI_MSG_CHANGESOURCE WINELIB_NAME_AW(SZOLEUI_MSG_CHANGESOURCE)
+#define SZOLEUI_MSG_ADDCONTROL WINELIB_NAME_AW(SZOLEUI_MSG_ADDCONTROL)
+#define SZOLEUI_MSG_BROWSE_OFN WINELIB_NAME_AW(SZOLEUI_MSG_BROWSE_OFN)
+
+
+/*****************************************************************************
+ * INSERT OBJECT DIALOG
+ */
+typedef struct tagOLEUIINSERTOBJECTA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ CLSID clsid;
+ LPSTR lpszFile;
+ UINT cchFile;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+ IID iid;
+ DWORD oleRender;
+ LPFORMATETC lpFormatEtc;
+ LPOLECLIENTSITE lpIOleClientSite;
+ LPSTORAGE lpIStorage;
+ LPVOID *ppvObj;
+ SCODE sc;
+ HGLOBAL hMetaPict;
+} OLEUIINSERTOBJECTA, *POLEUIINSERTOBJECTA, *LPOLEUIINSERTOBJECTA;
+
+typedef struct tagOLEUIINSERTOBJECTW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ CLSID clsid;
+ LPWSTR lpszFile;
+ UINT cchFile;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+ IID iid;
+ DWORD oleRender;
+ LPFORMATETC lpFormatEtc;
+ LPOLECLIENTSITE lpIOleClientSite;
+ LPSTORAGE lpIStorage;
+ LPVOID *ppvObj;
+ SCODE sc;
+ HGLOBAL hMetaPict;
+} OLEUIINSERTOBJECTW, *POLEUIINSERTOBJECTW, *LPOLEUIINSERTOBJECTW;
+
+DECL_WINELIB_TYPE_AW(OLEUIINSERTOBJECT)
+DECL_WINELIB_TYPE_AW(POLEUIINSERTOBJECT)
+DECL_WINELIB_TYPE_AW(LPOLEUIINSERTOBJECT)
+
+#define IOF_SHOWHELP __MSABI_LONG(0x00000001)
+#define IOF_SELECTCREATENEW __MSABI_LONG(0x00000002)
+#define IOF_SELECTCREATEFROMFILE __MSABI_LONG(0x00000004)
+#define IOF_CHECKLINK __MSABI_LONG(0x00000008)
+#define IOF_CHECKDISPLAYASICON __MSABI_LONG(0x00000010)
+#define IOF_CREATENEWOBJECT __MSABI_LONG(0x00000020)
+#define IOF_CREATEFILEOBJECT __MSABI_LONG(0x00000040)
+#define IOF_CREATELINKOBJECT __MSABI_LONG(0x00000080)
+#define IOF_DISABLELINK __MSABI_LONG(0x00000100)
+#define IOF_VERIFYSERVERSEXIST __MSABI_LONG(0x00000200)
+#define IOF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000400)
+#define IOF_HIDECHANGEICON __MSABI_LONG(0x00000800)
+#define IOF_SHOWINSERTCONTROL __MSABI_LONG(0x00001000)
+#define IOF_SELECTCREATECONTROL __MSABI_LONG(0x00002000)
+
+/*****************************************************************************
+ * CONVERT DIALOG
+ */
+typedef struct tagOLEUICONVERTA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ CLSID clsid;
+ CLSID clsidConvertDefault;
+ CLSID clsidActivateDefault;
+ CLSID clsidNew;
+ DWORD dvAspect;
+ WORD wFormat;
+ BOOL fIsLinkedObject;
+ HGLOBAL hMetaPict;
+ LPSTR lpszUserType;
+ BOOL fObjectsIconChanged;
+ LPSTR lpszDefLabel;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+} OLEUICONVERTA, *POLEUICONVERTA, *LPOLEUICONVERTA;
+
+typedef struct tagOLEUICONVERTW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ CLSID clsid;
+ CLSID clsidConvertDefault;
+ CLSID clsidActivateDefault;
+ CLSID clsidNew;
+ DWORD dvAspect;
+ WORD wFormat;
+ BOOL fIsLinkedObject;
+ HGLOBAL hMetaPict;
+ LPWSTR lpszUserType;
+ BOOL fObjectsIconChanged;
+ LPWSTR lpszDefLabel;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+} OLEUICONVERTW, *POLEUICONVERTW, *LPOLEUICONVERTW;
+
+DECL_WINELIB_TYPE_AW(OLEUICONVERT)
+DECL_WINELIB_TYPE_AW(POLEUICONVERT)
+DECL_WINELIB_TYPE_AW(LPOLEUICONVERT)
+
+#define CF_SHOWHELPBUTTON __MSABI_LONG(0x00000001)
+#define CF_SETCONVERTDEFAULT __MSABI_LONG(0x00000002)
+#define CF_SETACTIVATEDEFAULT __MSABI_LONG(0x00000004)
+#define CF_SELECTCONVERTTO __MSABI_LONG(0x00000008)
+#define CF_SELECTACTIVATEAS __MSABI_LONG(0x00000010)
+#define CF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000020)
+#define CF_DISABLEACTIVATEAS __MSABI_LONG(0x00000040)
+#define CF_HIDECHANGEICON __MSABI_LONG(0x00000080)
+#define CF_CONVERTONLY __MSABI_LONG(0x00000100)
+
+/*****************************************************************************
+ * CHANGE ICON DIALOG
+ */
+typedef struct tagOLEUICHANGEICONA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ HGLOBAL hMetaPict;
+ CLSID clsid;
+ CHAR szIconExe[MAX_PATH];
+ INT cchIconExe;
+} OLEUICHANGEICONA, *POLEUICHANGEICONA, *LPOLEUICHANGEICONA;
+
+typedef struct tagOLEUICHANGEICONW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ HGLOBAL hMetaPict;
+ CLSID clsid;
+ WCHAR szIconExe[MAX_PATH];
+ INT cchIconExe;
+} OLEUICHANGEICONW, *POLEUICHANGEICONW, *LPOLEUICHANGEICONW;
+
+DECL_WINELIB_TYPE_AW(OLEUICHANGEICON)
+DECL_WINELIB_TYPE_AW(POLEUICHANGEICON)
+DECL_WINELIB_TYPE_AW(LPOLEUICHANGEICON)
+
+
+#define CIF_SHOWHELP __MSABI_LONG(0x00000001)
+#define CIF_SELECTCURRENT __MSABI_LONG(0x00000002)
+#define CIF_SELECTDEFAULT __MSABI_LONG(0x00000004)
+#define CIF_SELECTFROMFILE __MSABI_LONG(0x00000008)
+#define CIF_USEICONEXE __MSABI_LONG(0x00000010)
+
+/*****************************************************************************
+ * PASTE SPECIAL DIALOG
+ */
+
+typedef enum tagOLEUIPASTEFLAG
+{
+ OLEUIPASTE_ENABLEICON = 2048,
+ OLEUIPASTE_PASTEONLY = 0,
+ OLEUIPASTE_PASTE = 512,
+ OLEUIPASTE_LINKANYTYPE = 1024,
+ OLEUIPASTE_LINKTYPE1 = 1,
+ OLEUIPASTE_LINKTYPE2 = 2,
+ OLEUIPASTE_LINKTYPE3 = 4,
+ OLEUIPASTE_LINKTYPE4 = 8,
+ OLEUIPASTE_LINKTYPE5 = 16,
+ OLEUIPASTE_LINKTYPE6 = 32,
+ OLEUIPASTE_LINKTYPE7 = 64,
+ OLEUIPASTE_LINKTYPE8 = 128
+} OLEUIPASTEFLAG;
+
+typedef struct tagOLEUIPASTEENTRYA
+{
+ FORMATETC fmtetc;
+ LPCSTR lpstrFormatName;
+ LPCSTR lpstrResultText;
+ DWORD dwFlags;
+ DWORD dwScratchSpace;
+} OLEUIPASTEENTRYA, *POLEUIPASTEENTRYA, *LPOLEUIPASTEENTRYA;
+
+typedef struct tagOLEUIPASTEENTRYW
+{
+ FORMATETC fmtetc;
+ LPCWSTR lpstrFormatName;
+ LPCWSTR lpstrResultText;
+ DWORD dwFlags;
+ DWORD dwScratchSpace;
+} OLEUIPASTEENTRYW, *POLEUIPASTEENTRYW, *LPOLEUIPASTEENTRYW;
+
+DECL_WINELIB_TYPE_AW(OLEUIPASTEENTRY)
+DECL_WINELIB_TYPE_AW(POLEUIPASTEENTRY)
+DECL_WINELIB_TYPE_AW(LPOLEUIPASTEENTRY)
+
+typedef struct tagOLEUIPASTESPECIALA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ LPDATAOBJECT lpSrcDataObj;
+ LPOLEUIPASTEENTRYA arrPasteEntries;
+ INT cPasteEntries;
+ UINT* arrLinkTypes;
+ INT cLinkTypes;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+ INT nSelectedIndex;
+ BOOL fLink;
+ HGLOBAL hMetaPict;
+ SIZEL sizel;
+} OLEUIPASTESPECIALA, *POLEUIPASTESPECIALA, *LPOLEUIPASTESPECIALA;
+
+typedef struct tagOLEUIPASTESPECIALW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ LPDATAOBJECT lpSrcDataObj;
+ LPOLEUIPASTEENTRYW arrPasteEntries;
+ INT cPasteEntries;
+ UINT* arrLinkTypes;
+ INT cLinkTypes;
+ UINT cClsidExclude;
+ LPCLSID lpClsidExclude;
+ INT nSelectedIndex;
+ BOOL fLink;
+ HGLOBAL hMetaPict;
+ SIZEL sizel;
+} OLEUIPASTESPECIALW, *POLEUIPASTESPECIALW, *LPOLEUIPASTESPECIALW;
+
+DECL_WINELIB_TYPE_AW(OLEUIPASTESPECIAL)
+DECL_WINELIB_TYPE_AW(POLEUIPASTESPECIAL)
+DECL_WINELIB_TYPE_AW(LPOLEUIPASTESPECIAL)
+
+#define PS_MAXLINKTYPES 8
+
+#define PSF_SHOWHELP __MSABI_LONG(0x00000001)
+#define PSF_SELECTPASTE __MSABI_LONG(0x00000002)
+#define PSF_SELECTPASTELINK __MSABI_LONG(0x00000004)
+
+#define PSF_CHECKDISPLAYASICON __MSABI_LONG(0x00000008)
+#define PSF_DISABLEDISPLAYASICON __MSABI_LONG(0x00000010)
+#define PSF_HIDECHANGEICON __MSABI_LONG(0x00000020)
+#define PSF_STAYONCLIPBOARDCHANGE __MSABI_LONG(0x00000040)
+#define PSF_NOREFRESHDATAOBJECT __MSABI_LONG(0x00000080)
+
+#define OLEUI_IOERR_SRCDATAOBJECTINVALID (OLEUI_ERR_STANDARDMAX+0)
+#define OLEUI_IOERR_ARRPASTEENTRIESINVALID (OLEUI_ERR_STANDARDMAX+1)
+#define OLEUI_IOERR_ARRLINKTYPESINVALID (OLEUI_ERR_STANDARDMAX+2)
+#define OLEUI_PSERR_CLIPBOARDCHANGED (OLEUI_ERR_STANDARDMAX+3)
+#define OLEUI_PSERR_GETCLIPBOARDFAILED (OLEUI_ERR_STANDARDMAX+4)
+
+/* Paste Special dialog resource ids */
+#define IDD_PASTESPECIAL 1003
+#define IDD_PASTESPECIAL4 1108
+
+/* Paste Special dialog control ids */
+#define IDC_PS_PASTE 500
+#define IDC_PS_PASTELINK 501
+#define IDC_PS_SOURCETEXT 502
+#define IDC_PS_PASTELIST 503
+#define IDC_PS_PASTELINKLIST 504
+#define IDC_PS_DISPLAYLIST 505
+#define IDC_PS_DISPLAYASICON 506
+#define IDC_PS_ICONDISPLAY 507
+#define IDC_PS_CHANGEICON 508
+#define IDC_PS_RESULTIMAGE 509
+#define IDC_PS_RESULTTEXT 510
+
+/*****************************************************************************
+ * EDIT LINKS DIALOG
+ */
+
+#define ELF_SHOWHELP __MSABI_LONG(0x00000001)
+#define ELF_DISABLEUPDATENOW __MSABI_LONG(0x00000002)
+#define ELF_DISABLEOPENSOURCE __MSABI_LONG(0x00000004)
+#define ELF_DISABLECHANGESOURCE __MSABI_LONG(0x00000008)
+#define ELF_DISABLECANCELLINK __MSABI_LONG(0x00000010)
+
+typedef struct tagOLEUIEDITLINKSW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ LPOLEUILINKCONTAINERW lpOleUILinkContainer;
+} OLEUIEDITLINKSW, *POLEUIEDITLINKSW, *LPOLEUIEDITLINKSW;
+
+typedef struct tagOLEUIEDITLINKSA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ LPOLEUILINKCONTAINERA lpOleUILinkContainer;
+} OLEUIEDITLINKSA, *POLEUIEDITLINKSA, *LPOLEUIEDITLINKSA;
+
+DECL_WINELIB_TYPE_AW(OLEUIEDITLINKS)
+DECL_WINELIB_TYPE_AW(POLEUIEDITLINKS)
+DECL_WINELIB_TYPE_AW(LPOLEUIEDITLINKS)
+
+
+/***********************************************************************************
+ * BUSY DIALOG
+ */
+typedef struct tagOLEUIBUSYA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ HTASK hTask;
+ HWND* lphWndDialog;
+} OLEUIBUSYA, *POLEUIBUSYA, *LPOLEUIBUSYA;
+
+typedef struct tagOLEUIBUSYW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ HTASK hTask;
+ HWND* lphWndDialog;
+} OLEUIBUSYW, *POLEUIBUSYW, *LPOLEUIBUSYW;
+
+DECL_WINELIB_TYPE_AW(OLEUIBUSY)
+DECL_WINELIB_TYPE_AW(POLEUIBUSY)
+DECL_WINELIB_TYPE_AW(LPOLEUIBUSY)
+
+
+#define BZ_DISABLECANCELBUTTON __MSABI_LONG(0x00000001)
+#define BZ_DISABLESWITCHTOBUTTON __MSABI_LONG(0x00000002)
+#define BZ_DISABLERETRYBUTTON __MSABI_LONG(0x00000004)
+#define BZ_NOTRESPONDINGDIALOG __MSABI_LONG(0x00000008)
+
+/***********************************************************************************
+ * OBJECT PROPERTIES DIALOG
+ */
+
+struct tagOLEUIOBJECTPROPSW;
+struct tagOLEUIOBJECTPROPSA;
+
+typedef struct tagOLEUIGNRLPROPSA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSA* lpOP;
+
+} OLEUIGNRLPROPSA, *POLEUIGNRLPROPSA, *LPOLEUIGNRLPROPSA;
+
+typedef struct tagOLEUIGNRLPROPSW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSW* lpOP;
+} OLEUIGNRLPROPSW, *POLEUIGNRLPROPSW, *LPOLEUIGNRLPROPSW;
+
+DECL_WINELIB_TYPE_AW(OLEUIGNRLPROPS)
+DECL_WINELIB_TYPE_AW(POLEUIGNRLPROPS)
+DECL_WINELIB_TYPE_AW(LPOLEUIGNRLPROPS)
+
+typedef struct tagOLEUIVIEWPROPSA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSA* lpOP;
+ INT nScaleMin;
+ INT nScaleMax;
+} OLEUIVIEWPROPSA, *POLEUIVIEWPROPSA, *LPOLEUIVIEWPROPSA;
+
+typedef struct tagOLEUIVIEWPROPSW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSW* lpOP;
+ INT nScaleMin;
+ INT nScaleMax;
+} OLEUIVIEWPROPSW, *POLEUIVIEWPROPSW, *LPOLEUIVIEWPROPSW;
+
+DECL_WINELIB_TYPE_AW(OLEUIVIEWPROPS)
+DECL_WINELIB_TYPE_AW(POLEUIVIEWPROPS)
+DECL_WINELIB_TYPE_AW(LPOLEUIVIEWPROPS)
+
+
+#define VPF_SELECTRELATIVE __MSABI_LONG(0x00000001)
+#define VPF_DISABLERELATIVE __MSABI_LONG(0x00000002)
+#define VPF_DISABLESCALE __MSABI_LONG(0x00000004)
+
+typedef struct tagOLEUILINKPROPSA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSA* lpOP;
+} OLEUILINKPROPSA, *POLEUILINKPROPSA, *LPOLEUILINKPROPSA;
+
+typedef struct tagOLEUILINKPROPSW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ DWORD dwReserved1[2];
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ DWORD dwReserved2[3];
+ struct tagOLEUIOBJECTPROPSW* lpOP;
+} OLEUILINKPROPSW, *POLEUILINKPROPSW, *LPOLEUILINKPROPSW;
+
+DECL_WINELIB_TYPE_AW(OLEUILINKPROPS)
+DECL_WINELIB_TYPE_AW(POLEUILINKPROPS)
+DECL_WINELIB_TYPE_AW(LPOLEUILINKPROPS)
+
+typedef struct tagOLEUIOBJECTPROPSA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ LPPROPSHEETHEADERA lpPS;
+ DWORD dwObject;
+ LPOLEUIOBJINFOA lpObjInfo;
+ DWORD dwLink;
+ LPOLEUILINKINFOA lpLinkInfo;
+ LPOLEUIGNRLPROPSA lpGP;
+ LPOLEUIVIEWPROPSA lpVP;
+ LPOLEUILINKPROPSA lpLP;
+} OLEUIOBJECTPROPSA, *POLEUIOBJECTPROPSA, *LPOLEUIOBJECTPROPSA;
+
+typedef struct tagOLEUIOBJECTPROPSW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ LPPROPSHEETHEADERW lpPS;
+ DWORD dwObject;
+ LPOLEUIOBJINFOW lpObjInfo;
+ DWORD dwLink;
+ LPOLEUILINKINFOW lpLinkInfo;
+ LPOLEUIGNRLPROPSW lpGP;
+ LPOLEUIVIEWPROPSW lpVP;
+ LPOLEUILINKPROPSW lpLP;
+} OLEUIOBJECTPROPSW, *POLEUIOBJECTPROPSW, *LPOLEUIOBJECTPROPSW;
+
+DECL_WINELIB_TYPE_AW(OLEUIOBJECTPROPS)
+DECL_WINELIB_TYPE_AW(POLEUIOBJECTPROPS)
+DECL_WINELIB_TYPE_AW(LPOLEUIOBJECTPROPS)
+
+#define OPF_OBJECTISLINK __MSABI_LONG(0x00000001)
+#define OPF_NOFILLDEFAULT __MSABI_LONG(0x00000002)
+#define OPF_SHOWHELP __MSABI_LONG(0x00000004)
+#define OPF_DISABLECONVERT __MSABI_LONG(0x00000008)
+
+
+/************************************************************************************
+ * CHANGE SOURCE DIALOG
+ */
+
+
+typedef struct tagOLEUICHANGESOURCEW
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCWSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCWSTR lpszTemplate;
+ HRSRC hResource;
+ OPENFILENAMEW*lpOFN;
+ DWORD dwReserved1[4];
+ LPOLEUILINKCONTAINERW lpOleUILinkContainer;
+ DWORD dwLink;
+ LPWSTR lpszDisplayName;
+ ULONG nFileLength;
+ LPWSTR lpszFrom;
+ LPWSTR lpszTo;
+} OLEUICHANGESOURCEW, *POLEUICHANGESOURCEW, *LPOLEUICHANGESOURCEW;
+
+
+typedef struct tagOLEUICHANGESOURCEA
+{
+ DWORD cbStruct;
+ DWORD dwFlags;
+ HWND hWndOwner;
+ LPCSTR lpszCaption;
+ LPFNOLEUIHOOK lpfnHook;
+ LPARAM lCustData;
+ HINSTANCE hInstance;
+ LPCSTR lpszTemplate;
+ HRSRC hResource;
+ OPENFILENAMEA* lpOFN;
+ DWORD dwReserved1[4];
+ LPOLEUILINKCONTAINERA lpOleUILinkContainer;
+ DWORD dwLink;
+ LPSTR lpszDisplayName;
+ ULONG nFileLength;
+ LPSTR lpszFrom;
+ LPSTR lpszTo;
+} OLEUICHANGESOURCEA, *POLEUICHANGESOURCEA, *LPOLEUICHANGESOURCEA;
+
+
+DECL_WINELIB_TYPE_AW(OLEUICHANGESOURCE)
+DECL_WINELIB_TYPE_AW(POLEUICHANGESOURCE)
+DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
+
+/* Change Source Dialog flags */
+#define CSF_SHOWHELP __MSABI_LONG(0x00000001)
+#define CSF_VALIDSOURCE __MSABI_LONG(0x00000002)
+#define CSF_ONLYGETSOURCE __MSABI_LONG(0x00000004)
+#define CSF_EXPLORER __MSABI_LONG(0x00000008)
+
+
+/*****************************************************************************
+ * IOleUILinkContainer interface
+ */
+#define INTERFACE IOleUILinkContainerA
+DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUILinkContainerA methods ***/
+ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
+ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
+ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
+ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
+ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
+ LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
+ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
+ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
+ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
+};
+#undef INTERFACE
+
+#define INTERFACE IOleUILinkContainerW
+DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUILinkContainerW methods ***/
+ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
+ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
+ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
+ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
+ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
+ LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
+ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
+ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
+ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
+};
+#undef INTERFACE
+
+DECL_WINELIB_TYPE_AW(IOleUILinkContainer)
+DECL_WINELIB_TYPE_AW(POLEUILINKCONTAINER)
+DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IOleUILinkContainer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IOleUILinkContainer_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IOleUILinkContainer_Release(p) (p)->lpVtbl->Release(p)
+/*** IOleUILinkContainer methods ***/
+#define IOleUILinkContainer_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
+#define IOleUILinkContainer_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
+#define IOleUILinkContainer_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
+#define IOleUILinkContainer_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
+#define IOleUILinkContainer_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
+#define IOleUILinkContainer_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
+#define IOleUILinkContainer_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
+#define IOleUILinkContainer_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
+#endif
+
+
+/*****************************************************************************
+ * IOleUILinkInfo interface
+ */
+#define INTERFACE IOleUILinkInfoA
+DECLARE_INTERFACE_(IOleUILinkInfoA,IOleUILinkContainerA)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUILinkContainerA methods ***/
+ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
+ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
+ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName,
+ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
+ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName,
+ LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType,
+ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
+ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
+ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
+ /*** IOleUILinkInfoA methods ***/
+ STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
+};
+#undef INTERFACE
+
+#define INTERFACE IOleUILinkInfoW
+DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUILinkContainerW methods ***/
+ STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
+ STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE;
+ STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName,
+ ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE;
+ STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName,
+ LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType,
+ BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE;
+ STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE;
+ STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE;
+ STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
+ /*** IOleUILinkInfoW methods ***/
+ STDMETHOD(GetLastUpdate)(THIS_ DWORD dwLink, FILETIME *lpLastUpdate) PURE;
+};
+#undef INTERFACE
+
+DECL_WINELIB_TYPE_AW(IOleUILinkInfo)
+DECL_WINELIB_TYPE_AW(POLEUILINKINFO)
+DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IOleUILinkInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IOleUILinkInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IOleUILinkInfo_Release(p) (p)->lpVtbl->Release(p)
+/*** IOleUILinkContainer methods ***/
+#define IOleUILinkInfo_GetNextLink(p,a) (p)->lpVtbl->GetNextLink(p,a)
+#define IOleUILinkInfo_SetLinkUpdateOptions(p,a,b) (p)->lpVtbl->SetLinkUpdateOptions(p,a,b)
+#define IOleUILinkInfo_GetLinkUpdateOptions(p,a,b) (p)->lpVtbl->GetLinkUpdateOptions(p,a,b)
+#define IOleUILinkInfo_SetLinkSource(p,a,b,c,d,e) (p)->lpVtbl->SetLinkSource(p,a,b,c,d,e)
+#define IOleUILinkInfo_GetLinkSource(p,a,b,c,d,e,f,g) (p)->lpVtbl->GetLinkSource(p,a,b,c,d,e,f,g)
+#define IOleUILinkInfo_OpenLinkSource(p,a) (p)->lpVtbl->OpenLinkSource(p,a)
+#define IOleUILinkInfo_UpdateLink(p,a,b,c) (p)->lpVtbl->UpdateLink(p,a,b,c)
+#define IOleUILinkInfo_CancelLink(p,a) (p)->lpVtbl->CancelLink(p,a)
+/*** IOleUILinkInfo methods ***/
+#define IOleUILinkInfo_GetLastUpdate(p,a,b) (p)->lpVtbl->GetLastUpdate(p,a,b)
+#endif
+
+
+/*****************************************************************************
+ * IOleUIObjInfo interface
+ */
+#define INTERFACE IOleUIObjInfoA
+DECLARE_INTERFACE_(IOleUIObjInfoA,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUIObjInfoA methods ***/
+ STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel,
+ LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE;
+ STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
+ CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
+ STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
+ STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
+ STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
+ INT nCurrentScale, BOOL bRelativeToOrig) PURE;
+};
+#undef INTERFACE
+
+#define INTERFACE IOleUIObjInfoW
+DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
+{
+ /*** IUnknown methods ***/
+ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ /*** IOleUIObjInfoW methods ***/
+ STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel,
+ LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE;
+ STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat,
+ CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE;
+ STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE;
+ STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE;
+ STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect,
+ INT nCurrentScale, BOOL bRelativeToOrig) PURE;
+};
+#undef INTERFACE
+
+DECL_WINELIB_TYPE_AW(IOleUIObjInfo)
+DECL_WINELIB_TYPE_AW(POLEUIOBJINFO)
+DECL_WINELIB_TYPE_AW(LPOLEUIOBJINFO)
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IOleUIObjInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
+#define IOleUIObjInfo_AddRef(p) (p)->lpVtbl->AddRef(p)
+#define IOleUIObjInfo_Release(p) (p)->lpVtbl->Release(p)
+/*** IOleUIObjInfo methods ***/
+#define IOleUIObjInfo_GetObjectInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetObjectInfo(p,a,b,c,d,e,f)
+#define IOleUIObjInfo_GetConvertInfo(p,a,b,c,d,e,f) (p)->lpVtbl->GetConvertInfo(p,a,b,c,d,e,f)
+#define IOleUIObjInfo_ConvertObject(p,a,b) (p)->lpVtbl->ConvertObject(p,a,b)
+#define IOleUIObjInfo_GetViewInfo(p,a,b,c,d) (p)->lpVtbl->GetViewInfo(p,a,b,c,d)
+#define IOleUIObjInfo_SetViewInfo(p,a,b,c,d,e) (p)->lpVtbl->SetViewInfo(p,a,b,c,d,e)
+#endif
+
+UINT WINAPI OleUIInsertObjectW(LPOLEUIINSERTOBJECTW);
+UINT WINAPI OleUIInsertObjectA(LPOLEUIINSERTOBJECTA);
+#define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
+UINT WINAPI OleUIConvertA(LPOLEUICONVERTA);
+UINT WINAPI OleUIConvertW(LPOLEUICONVERTW);
+#define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
+UINT WINAPI OleUIChangeIconA(LPOLEUICHANGEICONA);
+UINT WINAPI OleUIChangeIconW(LPOLEUICHANGEICONW);
+#define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
+UINT WINAPI OleUIBusyA(LPOLEUIBUSYA);
+UINT WINAPI OleUIBusyW(LPOLEUIBUSYW);
+#define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
+UINT WINAPI OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA);
+UINT WINAPI OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW);
+#define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
+UINT WINAPI OleUIChangeSourceW(LPOLEUICHANGESOURCEW);
+UINT WINAPI OleUIChangeSourceA(LPOLEUICHANGESOURCEA);
+#define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
+UINT WINAPI OleUIEditLinksA(LPOLEUIEDITLINKSA lpOleUIEditLinks);
+UINT WINAPI OleUIEditLinksW(LPOLEUIEDITLINKSW lpOleUIEditLinks);
+#define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
+BOOL WINAPI OleUIUpdateLinksA(LPOLEUILINKCONTAINERA lpOleUILinkCntr, HWND hwndParent, LPSTR lpszTitle, INT cLinks);
+BOOL WINAPI OleUIUpdateLinksW(LPOLEUILINKCONTAINERW lpOleUILinkCntr, HWND hwndParent, LPWSTR lpszTitle, INT cLinks);
+#define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
+BOOL WINAPI OleUIAddVerbMenuA(LPOLEOBJECT lpOleObj, LPCSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
+ BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
+BOOL WINAPI OleUIAddVerbMenuW(LPOLEOBJECT lpOleObj, LPCWSTR lpszShortType, HMENU hMenu, UINT uPos, UINT uIDVerbMin, UINT uIDVerbMax,
+ BOOL bAddConvert, UINT idConvert, HMENU *lphMenu);
+#define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
+UINT WINAPI OleUIPasteSpecialA(LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
+UINT WINAPI OleUIPasteSpecialW(LPOLEUIPASTESPECIALW lpOleUIPasteSpecial);
+#define OleUIPasteSpecial WINELIB_NAME_AW(OleUIPasteSpecial)
+INT __cdecl OleUIPromptUserA(INT,HWND, ...);
+INT __cdecl OleUIPromptUserW(INT,HWND, ...);
+#define OleUIPromptUser WINELIB_NAME_AW(OleUIPromptUser)
+
+#ifdef __cplusplus
+} /* Extern "C" */
+#endif
+
+
+#endif /* __WINE_OLEDLG_H */