reactos/sdk/include/psdk/oledlg.h

1140 lines
41 KiB
C

/*
* 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
*/
#ifndef __WINE_OLEDLG_H
#define __WINE_OLEDLG_H
#ifndef __WINESRC__
# include <windows.h>
#endif
#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 0x00000001L
#define IOF_SELECTCREATENEW 0x00000002L
#define IOF_SELECTCREATEFROMFILE 0x00000004L
#define IOF_CHECKLINK 0x00000008L
#define IOF_CHECKDISPLAYASICON 0x00000010L
#define IOF_CREATENEWOBJECT 0x00000020L
#define IOF_CREATEFILEOBJECT 0x00000040L
#define IOF_CREATELINKOBJECT 0x00000080L
#define IOF_DISABLELINK 0x00000100L
#define IOF_VERIFYSERVERSEXIST 0x00000200L
#define IOF_DISABLEDISPLAYASICON 0x00000400L
#define IOF_HIDECHANGEICON 0x00000800L
#define IOF_SHOWINSERTCONTROL 0x00001000L
#define IOF_SELECTCREATECONTROL 0x00002000L
/*****************************************************************************
* 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 0x00000001L
#define CF_SETCONVERTDEFAULT 0x00000002L
#define CF_SETACTIVATEDEFAULT 0x00000004L
#define CF_SELECTCONVERTTO 0x00000008L
#define CF_SELECTACTIVATEAS 0x00000010L
#define CF_DISABLEDISPLAYASICON 0x00000020L
#define CF_DISABLEACTIVATEAS 0x00000040L
#define CF_HIDECHANGEICON 0x00000080L
#define CF_CONVERTONLY 0x00000100L
/*****************************************************************************
* 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 0x00000001L
#define CIF_SELECTCURRENT 0x00000002L
#define CIF_SELECTDEFAULT 0x00000004L
#define CIF_SELECTFROMFILE 0x00000008L
#define CIF_USEICONEXE 0x00000010L
/*****************************************************************************
* 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 0x00000001L
#define PSF_SELECTPASTE 0x00000002L
#define PSF_SELECTPASTELINK 0x00000004L
#define PSF_CHECKDISPLAYASICON 0x00000008L
#define PSF_DISABLEDISPLAYASICON 0x00000010L
#define PSF_HIDECHANGEICON 0x00000020L
#define PSF_STAYONCLIPBOARDCHANGE 0x00000040L
#define PSF_NOREFRESHDATAOBJECT 0x00000080L
#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 0x00000001L
#define ELF_DISABLEUPDATENOW 0x00000002L
#define ELF_DISABLEOPENSOURCE 0x00000004L
#define ELF_DISABLECHANGESOURCE 0x00000008L
#define ELF_DISABLECANCELLINK 0x00000010L
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 0x00000001L
#define BZ_DISABLESWITCHTOBUTTON 0x00000002L
#define BZ_DISABLERETRYBUTTON 0x00000004L
#define BZ_NOTRESPONDINGDIALOG 0x00000008L
/***********************************************************************************
* 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 0x00000001L
#define VPF_DISABLERELATIVE 0x00000002L
#define VPF_DISABLESCALE 0x00000004L
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 0x00000001L
#define OPF_NOFILLDEFAULT 0x00000002L
#define OPF_SHOWHELP 0x00000004L
#define OPF_DISABLECONVERT 0x00000008L
/************************************************************************************
* 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 0x00000001L
#define CSF_VALIDSOURCE 0x00000002L
#define CSF_ONLYGETSOURCE 0x00000004L
#define CSF_EXPLORER 0x00000008L
/*****************************************************************************
* IOleUILinkContainer interface
*/
#define INTERFACE IOleUILinkContainerA
DECLARE_INTERFACE_(IOleUILinkContainerA,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUILinkContainerA methods ***/
STDMETHOD_(DWORD,GetNextLink)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(SetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_In_ DWORD dwUpdateOpt) PURE;
STDMETHOD(GetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_Out_ DWORD *lpdwUpdateOpt) PURE;
STDMETHOD(SetLinkSource)(THIS_
_In_ DWORD dwLink,
_In_ LPSTR lpszDisplayName,
_In_ ULONG lenFileName,
_Out_ ULONG *pchEaten,
_In_ BOOL fValidateSource) PURE;
STDMETHOD(GetLinkSource)(THIS_
_In_ DWORD dwLink,
_Outptr_opt_result_maybenull_ LPSTR *lplpszDisplayName,
_Out_ ULONG *lplenFileName,
_Outptr_opt_result_maybenull_ LPSTR *lplpszFullLinkType,
_Outptr_opt_result_maybenull_ LPSTR *lplpszShortLinkType,
_Out_ BOOL *lpfSourceAvailable,
_Out_ BOOL *lpfIsSelected) PURE;
STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(UpdateLink)(THIS_
_In_ DWORD dwLink,
_In_ BOOL fErrorMessage,
_In_ BOOL fReserved) PURE;
STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
};
#undef INTERFACE
#define INTERFACE IOleUILinkContainerW
DECLARE_INTERFACE_(IOleUILinkContainerW,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUILinkContainerW methods ***/
STDMETHOD_(DWORD,GetNextLink)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(SetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_In_ DWORD dwUpdateOpt) PURE;
STDMETHOD(GetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_Out_ DWORD *lpdwUpdateOpt) PURE;
STDMETHOD(SetLinkSource)(THIS_
_In_ DWORD dwLink,
_In_ LPWSTR lpszDisplayName,
_In_ ULONG lenFileName,
_Out_ ULONG *pchEaten,
_In_ BOOL fValidateSource) PURE;
STDMETHOD(GetLinkSource)(THIS_
_In_ DWORD dwLink,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszDisplayName,
_Out_ ULONG *lplenFileName,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszFullLinkType,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszShortLinkType,
_Out_ BOOL *lpfSourceAvailable,
_Out_ BOOL *lpfIsSelected) PURE;
STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(UpdateLink)(THIS_
_In_ DWORD dwLink,
_In_ BOOL fErrorMessage,
_In_ 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_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUILinkContainerA methods ***/
STDMETHOD_(DWORD, GetNextLink)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(SetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_In_ DWORD dwUpdateOpt) PURE;
STDMETHOD(GetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_Out_ DWORD *lpdwUpdateOpt) PURE;
STDMETHOD(SetLinkSource)(THIS_
_In_ DWORD dwLink,
_In_ LPSTR lpszDisplayName,
_In_ ULONG lenFileName,
_Out_ ULONG *pchEaten,
_In_ BOOL fValidateSource) PURE;
STDMETHOD(GetLinkSource)(THIS_
_In_ DWORD dwLink,
_Outptr_opt_result_maybenull_ LPSTR *lplpszDisplayName,
_Out_ ULONG *lplenFileName,
_Outptr_opt_result_maybenull_ LPSTR *lplpszFullLinkType,
_Outptr_opt_result_maybenull_ LPSTR *lplpszShortLinkType,
_Out_ BOOL *lpfSourceAvailable,
_Out_ BOOL *lpfIsSelected) PURE;
STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(UpdateLink)(THIS_
_In_ DWORD dwLink,
_In_ BOOL fErrorMessage,
_In_ BOOL fReserved) PURE;
STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
/*** IOleUILinkInfoA methods ***/
STDMETHOD(GetLastUpdate)(THIS_
_In_ DWORD dwLink,
_Out_ FILETIME *lpLastUpdate) PURE;
};
#undef INTERFACE
#define INTERFACE IOleUILinkInfoW
DECLARE_INTERFACE_(IOleUILinkInfoW,IOleUILinkContainerW)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUILinkContainerW methods ***/
STDMETHOD_(DWORD, GetNextLink)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(SetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_In_ DWORD dwUpdateOpt) PURE;
STDMETHOD(GetLinkUpdateOptions)(THIS_
_In_ DWORD dwLink,
_Out_ DWORD *lpdwUpdateOpt) PURE;
STDMETHOD(SetLinkSource)(THIS_
_In_ DWORD dwLink,
_In_ LPWSTR lpszDisplayName,
_In_ ULONG lenFileName,
_Out_ ULONG *pchEaten,
_In_ BOOL fValidateSource) PURE;
STDMETHOD(GetLinkSource)(THIS_
_In_ DWORD dwLink,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszDisplayName,
_Out_ ULONG *lplenFileName,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszFullLinkType,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszShortLinkType,
_Out_ BOOL *lpfSourceAvailable,
_Out_ BOOL *lpfIsSelected) PURE;
STDMETHOD(OpenLinkSource)(THIS_ _In_ DWORD dwLink) PURE;
STDMETHOD(UpdateLink)(THIS_
_In_ DWORD dwLink,
_In_ BOOL fErrorMessage,
_In_ BOOL fReserved) PURE;
STDMETHOD(CancelLink)(THIS_ DWORD dwLink) PURE;
/*** IOleUILinkInfoW methods ***/
STDMETHOD(GetLastUpdate)(THIS_
_In_ DWORD dwLink,
_Out_ 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_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUIObjInfoA methods ***/
STDMETHOD(GetObjectInfo)(THIS_
_In_ DWORD dwObject,
_Out_ DWORD *lpdwObjSize,
_Outptr_opt_result_maybenull_ LPSTR *lplpszLabel,
_Outptr_opt_result_maybenull_ LPSTR *lplpszType,
_Outptr_opt_result_maybenull_ LPSTR *lplpszShortType,
_Outptr_opt_result_maybenull_ LPSTR *lplpszLocation) PURE;
STDMETHOD(GetConvertInfo)(THIS_
_In_ DWORD dwObject,
_Out_ CLSID *lpClassID,
_Out_ WORD *lpwFormat,
_Out_ CLSID *lpConvertDefaultClassID,
_Outptr_result_maybenull_ LPCLSID *lplpClsidExclude,
_Out_opt_ UINT *lpcClsidExclude) PURE;
STDMETHOD(ConvertObject)(THIS_
_In_ DWORD dwObject,
_In_ REFCLSID clsidNew) PURE;
STDMETHOD(GetViewInfo)(THIS_
_In_ DWORD dwObject,
_In_opt_ HGLOBAL *phMetaPict,
_In_opt_ DWORD *pdvAspect,
_In_opt_ INT *pnCurrentScale) PURE;
STDMETHOD(SetViewInfo)(THIS_
_In_ DWORD dwObject,
_In_ HGLOBAL hMetaPict,
_In_ DWORD dvAspect,
_In_ INT nCurrentScale,
_In_ BOOL bRelativeToOrig) PURE;
};
#undef INTERFACE
#define INTERFACE IOleUIObjInfoW
DECLARE_INTERFACE_(IOleUIObjInfoW,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD_(HRESULT,QueryInterface)(THIS_
_In_ REFIID riid,
_Outptr_ void** ppvObject) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleUIObjInfoW methods ***/
STDMETHOD(GetObjectInfo)(THIS_
_In_ DWORD dwObject,
_Out_ DWORD *lpdwObjSize,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszLabel,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszType,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszShortType,
_Outptr_opt_result_maybenull_ LPWSTR *lplpszLocation) PURE;
STDMETHOD(GetConvertInfo)(THIS_
_In_ DWORD dwObject,
_Out_ CLSID *lpClassID,
_Out_ WORD *lpwFormat,
_Out_ CLSID *lpConvertDefaultClassID,
_Outptr_result_maybenull_ LPCLSID *lplpClsidExclude,
_Out_opt_ UINT *lpcClsidExclude) PURE;
STDMETHOD(ConvertObject)(THIS_
_In_ DWORD dwObject,
_In_ REFCLSID clsidNew) PURE;
STDMETHOD(GetViewInfo)(THIS_
_In_ DWORD dwObject,
_In_opt_ HGLOBAL *phMetaPict,
_In_opt_ DWORD *pdvAspect,
_In_opt_ INT *pnCurrentScale) PURE;
STDMETHOD(SetViewInfo)(THIS_
_In_ DWORD dwObject,
_In_ HGLOBAL hMetaPict,
_In_ DWORD dvAspect,
_In_ INT nCurrentScale,
_In_ 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(_In_ LPOLEUIINSERTOBJECTW);
UINT WINAPI OleUIInsertObjectA(_In_ LPOLEUIINSERTOBJECTA);
#define OleUIInsertObject WINELIB_NAME_AW(OleUIInsertObject)
UINT WINAPI OleUIConvertA(_In_ LPOLEUICONVERTA);
UINT WINAPI OleUIConvertW(_In_ LPOLEUICONVERTW);
#define OleUIConvert WINELIB_NAME_AW(OleUIConvert)
UINT WINAPI OleUIChangeIconA(_In_ LPOLEUICHANGEICONA);
UINT WINAPI OleUIChangeIconW(_In_ LPOLEUICHANGEICONW);
#define OleUIChangeIcon WINELIB_NAME_AW(OleUIChangeIcon)
UINT WINAPI OleUIBusyA(_In_ LPOLEUIBUSYA);
UINT WINAPI OleUIBusyW(_In_ LPOLEUIBUSYW);
#define OleUIBusy WINELIB_NAME_AW(OleUIBusy)
UINT WINAPI OleUIObjectPropertiesA(_In_ LPOLEUIOBJECTPROPSA);
UINT WINAPI OleUIObjectPropertiesW(_In_ LPOLEUIOBJECTPROPSW);
#define OleUIObjectProperties WINELIB_NAME_AW(OleUIObjectProperties)
UINT WINAPI OleUIChangeSourceW(_In_ LPOLEUICHANGESOURCEW);
UINT WINAPI OleUIChangeSourceA(_In_ LPOLEUICHANGESOURCEA);
#define OleUIChangeSource WINELIB_NAME_AW(OleUIChangeSource)
UINT WINAPI OleUIEditLinksA(_In_ LPOLEUIEDITLINKSA lpOleUIEditLinks);
UINT WINAPI OleUIEditLinksW(_In_ LPOLEUIEDITLINKSW lpOleUIEditLinks);
#define OleUIEditLinks WINELIB_NAME_AW(OleUIEditLinks)
BOOL
WINAPI
OleUIUpdateLinksA(
_In_ LPOLEUILINKCONTAINERA lpOleUILinkCntr,
_In_ HWND hwndParent,
_In_ LPSTR lpszTitle,
_In_ INT cLinks);
BOOL
WINAPI
OleUIUpdateLinksW(
_In_ LPOLEUILINKCONTAINERW lpOleUILinkCntr,
_In_ HWND hwndParent,
_In_ LPWSTR lpszTitle,
_In_ INT cLinks);
#define OleUIUpdateLinks WINELIB_NAME_AW(OleUIUpdateLinks)
BOOL
WINAPI
OleUIAddVerbMenuA(
_In_opt_ LPOLEOBJECT lpOleObj,
_In_opt_ LPCSTR lpszShortType,
_In_ HMENU hMenu,
_In_ UINT uPos,
_In_ UINT uIDVerbMin,
_In_ UINT uIDVerbMax,
_In_ BOOL bAddConvert,
_In_ UINT idConvert,
_Out_ HMENU *lphMenu);
BOOL
WINAPI
OleUIAddVerbMenuW(
_In_opt_ LPOLEOBJECT lpOleObj,
_In_opt_ LPCWSTR lpszShortType,
_In_ HMENU hMenu,
_In_ UINT uPos,
_In_ UINT uIDVerbMin,
_In_ UINT uIDVerbMax,
_In_ BOOL bAddConvert,
_In_ UINT idConvert,
_Out_ HMENU *lphMenu);
#define OleUIAddVerbMenu WINELIB_NAME_AW(OleUIAddVerbMenu)
UINT WINAPI OleUIPasteSpecialA(_In_ LPOLEUIPASTESPECIALA lpOleUIPasteSpecial);
UINT WINAPI OleUIPasteSpecialW(_In_ 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 */