1 /* 2 * Monikers 3 * 4 * Copyright 1998 Marcus Meissner 5 * Copyright 1999 Noomen Hamza 6 * Copyright 2005 Robert Shearman (for CodeWeavers) 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 21 */ 22 23 #ifndef __WINE_MONIKER_H__ 24 #define __WINE_MONIKER_H__ 25 26 DEFINE_OLEGUID( CLSID_FileMoniker, 0x303, 0, 0 ); 27 DEFINE_OLEGUID( CLSID_ItemMoniker, 0x304, 0, 0 ); 28 DEFINE_OLEGUID( CLSID_AntiMoniker, 0x305, 0, 0 ); 29 DEFINE_OLEGUID( CLSID_CompositeMoniker, 0x309, 0, 0 ); 30 DEFINE_OLEGUID( CLSID_ClassMoniker, 0x31a, 0, 0 ); 31 DEFINE_OLEGUID( CLSID_PointerMoniker, 0x306, 0, 0 ); 32 33 HRESULT WINAPI FileMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 34 HRESULT WINAPI ItemMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 35 HRESULT WINAPI AntiMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 36 HRESULT WINAPI CompositeMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 37 HRESULT WINAPI ClassMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 38 HRESULT WINAPI PointerMoniker_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 39 HRESULT WINAPI ComCat_CreateInstance(IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv); 40 41 /* This function decomposes a String path to a String Table containing all the elements ("\" or "subDirectory" or "Directory" or "FileName") of the path */ 42 int FileMonikerImpl_DecomposePath(LPCOLESTR str, LPOLESTR** stringTable) DECLSPEC_HIDDEN; 43 44 HRESULT FileMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, 45 LPDWORD pchEaten, LPMONIKER *ppmk) DECLSPEC_HIDDEN; 46 HRESULT ClassMoniker_CreateFromDisplayName(LPBC pbc, LPCOLESTR szDisplayName, 47 LPDWORD pchEaten, LPMONIKER *ppmk) DECLSPEC_HIDDEN; 48 49 HRESULT MonikerMarshal_Create(IMoniker *inner, IUnknown **outer) DECLSPEC_HIDDEN; 50 51 52 #endif /* __WINE_MONIKER_H__ */ 53