ReactOS 0.4.16-dev-2332-g4cba65d
moniker.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 DEFINE_OLEGUID (CLSID_FileMoniker, 0x303, 0, 0)
 
 DEFINE_OLEGUID (CLSID_ItemMoniker, 0x304, 0, 0)
 
 DEFINE_OLEGUID (CLSID_AntiMoniker, 0x305, 0, 0)
 
 DEFINE_OLEGUID (CLSID_PointerMoniker, 0x306, 0, 0)
 
 DEFINE_OLEGUID (CLSID_CompositeMoniker, 0x309, 0, 0)
 
 DEFINE_OLEGUID (CLSID_ClassMoniker, 0x31a, 0, 0)
 
 DEFINE_OLEGUID (CLSID_ObjrefMoniker, 0x327, 0, 0)
 
HRESULT WINAPI FileMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI ItemMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI AntiMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI CompositeMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI ClassMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI ObjrefMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI PointerMoniker_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT WINAPI ComCat_CreateInstance (IClassFactory *iface, IUnknown *pUnk, REFIID riid, void **ppv)
 
HRESULT FileMoniker_CreateFromDisplayName (LPBC pbc, LPCOLESTR szDisplayName, LPDWORD pchEaten, LPMONIKER *ppmk)
 
HRESULT ClassMoniker_CreateFromDisplayName (LPBC pbc, LPCOLESTR szDisplayName, LPDWORD pchEaten, LPMONIKER *ppmk)
 
HRESULT MonikerMarshal_Create (IMoniker *inner, IUnknown **outer)
 
BOOL is_anti_moniker (IMoniker *iface, DWORD *order)
 
HRESULT create_anti_moniker (DWORD order, IMoniker **ret)
 

Function Documentation

◆ AntiMoniker_CreateInstance()

HRESULT WINAPI AntiMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 633 of file antimoniker.c.

635{
636 IMoniker *pMoniker;
637 HRESULT hr;
638
639 TRACE("(%p, %s, %p)\n", pUnk, debugstr_guid(riid), ppv);
640
641 *ppv = NULL;
642
643 if (pUnk)
645
646 hr = CreateAntiMoniker(&pMoniker);
647 if (FAILED(hr))
648 return hr;
649
650 hr = IMoniker_QueryInterface(pMoniker, riid, ppv);
651 IMoniker_Release(pMoniker);
652
653 return hr;
654}
HRESULT WINAPI CreateAntiMoniker(IMoniker **moniker)
Definition: antimoniker.c:626
#define NULL
Definition: types.h:112
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define FAILED(hr)
Definition: intsafe.h:51
#define debugstr_guid
Definition: kernel32.h:35
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

◆ ClassMoniker_CreateFromDisplayName()

HRESULT ClassMoniker_CreateFromDisplayName ( LPBC  pbc,
LPCOLESTR  szDisplayName,
LPDWORD  pchEaten,
LPMONIKER ppmk 
)

◆ ClassMoniker_CreateInstance()

HRESULT WINAPI ClassMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 686 of file classmoniker.c.

688{
689 HRESULT hr;
690 IMoniker *pmk;
691
692 TRACE("(%p, %s, %p)\n", pUnk, debugstr_guid(riid), ppv);
693
694 *ppv = NULL;
695
696 if (pUnk)
698
700 if (FAILED(hr)) return hr;
701
702 hr = IMoniker_QueryInterface(pmk, riid, ppv);
703 IMoniker_Release(pmk);
704
705 return hr;
706}
HRESULT WINAPI CreateClassMoniker(REFCLSID rclsid, IMoniker **moniker)
Definition: classmoniker.c:627
#define CLSID_NULL
Definition: guiddef.h:99

◆ ComCat_CreateInstance()

HRESULT WINAPI ComCat_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 686 of file comcat.c.

687{
688 HRESULT res;
689 TRACE("%s\n",debugstr_guid(riid));
690
691 if (ppvObj == NULL) return E_POINTER;
692
693 /* Don't support aggregation (Windows doesn't) */
694 if (pUnkOuter != NULL) return CLASS_E_NOAGGREGATION;
695
696 res = ICatRegister_QueryInterface(&COMCAT_ComCatMgr.ICatRegister_iface, riid, ppvObj);
697 if (SUCCEEDED(res)) {
698 return res;
699 }
700
702}
static ComCatMgrImpl COMCAT_ComCatMgr
Definition: comcat.c:50
GLuint res
Definition: glext.h:9613
#define SUCCEEDED(hr)
Definition: intsafe.h:50
ICatRegister ICatRegister_iface
Definition: comcat.c:45
#define E_POINTER
Definition: winerror.h:3480
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:3772

◆ CompositeMoniker_CreateInstance()

HRESULT WINAPI CompositeMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 1826 of file compositemoniker.c.

1828{
1829 IMoniker* pMoniker;
1830 HRESULT hr;
1831
1832 TRACE("(%p, %s, %p)\n", pUnk, debugstr_guid(riid), ppv);
1833
1834 *ppv = NULL;
1835
1836 if (pUnk)
1837 return CLASS_E_NOAGGREGATION;
1838
1839 hr = create_composite(NULL, NULL, &pMoniker);
1840
1841 if (SUCCEEDED(hr))
1842 {
1843 hr = IMoniker_QueryInterface(pMoniker, riid, ppv);
1844 IMoniker_Release(pMoniker);
1845 }
1846
1847 return hr;
1848}
static HRESULT create_composite(IMoniker *left, IMoniker *right, IMoniker **moniker)

◆ create_anti_moniker()

HRESULT create_anti_moniker ( DWORD  order,
IMoniker **  ret 
)

Definition at line 606 of file antimoniker.c.

607{
609
610 if (!(moniker = calloc(1, sizeof(*moniker))))
611 return E_OUTOFMEMORY;
612
614 moniker->IROTData_iface.lpVtbl = &VT_ROTDataImpl;
615 moniker->refcount = 1;
616 moniker->count = order;
617
619
620 return S_OK;
621}
static const IMonikerVtbl VT_AntiMonikerImpl
Definition: antimoniker.c:562
static const IROTDataVtbl VT_ROTDataImpl
Definition: antimoniker.c:598
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
return ret
Definition: mutex.c:146
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:11194
#define S_OK
Definition: intsafe.h:52
#define calloc
Definition: rosglue.h:14
Definition: main.c:40
IMoniker IMoniker_iface
Definition: main.c:41

Referenced by CreateAntiMoniker(), FileMonikerImpl_ComposeWith(), ItemMonikerImpl_ComposeWith(), and PointerMonikerImpl_ComposeWith().

◆ DEFINE_OLEGUID() [1/7]

DEFINE_OLEGUID ( CLSID_AntiMoniker  ,
0x305  ,
,
 
)

◆ DEFINE_OLEGUID() [2/7]

DEFINE_OLEGUID ( CLSID_ClassMoniker  ,
0x31a  ,
,
 
)

◆ DEFINE_OLEGUID() [3/7]

DEFINE_OLEGUID ( CLSID_CompositeMoniker  ,
0x309  ,
,
 
)

◆ DEFINE_OLEGUID() [4/7]

DEFINE_OLEGUID ( CLSID_FileMoniker  ,
0x303  ,
,
 
)

◆ DEFINE_OLEGUID() [5/7]

DEFINE_OLEGUID ( CLSID_ItemMoniker  ,
0x304  ,
,
 
)

◆ DEFINE_OLEGUID() [6/7]

DEFINE_OLEGUID ( CLSID_ObjrefMoniker  ,
0x327  ,
,
 
)

◆ DEFINE_OLEGUID() [7/7]

DEFINE_OLEGUID ( CLSID_PointerMoniker  ,
0x306  ,
,
 
)

◆ FileMoniker_CreateFromDisplayName()

HRESULT FileMoniker_CreateFromDisplayName ( LPBC  pbc,
LPCOLESTR  szDisplayName,
LPDWORD  pchEaten,
LPMONIKER ppmk 
)

◆ FileMoniker_CreateInstance()

HRESULT WINAPI FileMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 1486 of file filemoniker.c.

1487{
1488 FileMonikerImpl* newFileMoniker;
1489 HRESULT hr;
1490
1491 TRACE("(%p, %s, %p)\n", pUnk, debugstr_guid(riid), ppv);
1492
1493 *ppv = NULL;
1494
1495 if (pUnk)
1496 return CLASS_E_NOAGGREGATION;
1497
1498 newFileMoniker = calloc(1, sizeof(*newFileMoniker));
1499 if (!newFileMoniker)
1500 return E_OUTOFMEMORY;
1501
1502 hr = FileMonikerImpl_Construct(newFileMoniker, L"");
1503
1504 if (SUCCEEDED(hr))
1505 hr = IMoniker_QueryInterface(&newFileMoniker->IMoniker_iface, riid, ppv);
1506 if (FAILED(hr))
1507 free(newFileMoniker);
1508
1509 return hr;
1510}
#define free
Definition: debug_ros.c:5
#define L(x)
Definition: resources.c:13
static HRESULT FileMonikerImpl_Construct(FileMonikerImpl *iface, LPCOLESTR lpszPathName)
Definition: filemoniker.c:1290
IMoniker IMoniker_iface
Definition: filemoniker.c:41

◆ is_anti_moniker()

BOOL is_anti_moniker ( IMoniker iface,
DWORD order 
)

Definition at line 54 of file antimoniker.c.

55{
57
58 if (!moniker)
59 {
60 *order = 0;
61 return FALSE;
62 }
63
64 *order = moniker->count;
65
66 return TRUE;
67}
static AntiMonikerImpl * unsafe_impl_from_IMoniker(IMoniker *iface)
Definition: antimoniker.c:589
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117

Referenced by ClassMoniker_ComposeWith(), FileMonikerImpl_ComposeWith(), ItemMonikerImpl_ComposeWith(), and PointerMonikerImpl_ComposeWith().

◆ ItemMoniker_CreateInstance()

HRESULT WINAPI ItemMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 978 of file itemmoniker.c.

979{
981 HRESULT hr;
982
983 TRACE("(%p, %s, %p)\n", outer, debugstr_guid(riid), ppv);
984
985 *ppv = NULL;
986
987 if (outer)
989
990 if (FAILED(hr = CreateItemMoniker(L"", L"", &moniker)))
991 return hr;
992
993 hr = IMoniker_QueryInterface(moniker, riid, ppv);
994 IMoniker_Release(moniker);
995
996 return hr;
997}
HRESULT WINAPI CreateItemMoniker(const WCHAR *delimiter, const WCHAR *name, IMoniker **ret)
Definition: itemmoniker.c:932
static IUnknown * outer
Definition: compobj.c:82

◆ MonikerMarshal_Create()

HRESULT MonikerMarshal_Create ( IMoniker inner,
IUnknown **  outer 
)

Definition at line 1361 of file moniker.c.

1362{
1363 MonikerMarshal *This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
1364 if (!This) return E_OUTOFMEMORY;
1365
1366 This->IUnknown_iface.lpVtbl = &VT_MonikerMarshalInner;
1367 This->IMarshal_iface.lpVtbl = &VT_MonikerMarshal;
1368 This->ref = 1;
1369 This->moniker = inner;
1370
1371 *outer = &This->IUnknown_iface;
1372 return S_OK;
1373}
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
static const IUnknownVtbl VT_MonikerMarshalInner
Definition: moniker.c:1253
static const IMarshalVtbl VT_MonikerMarshal
Definition: moniker.c:1348

Referenced by AntiMonikerImpl_QueryInterface(), ClassMoniker_QueryInterface(), FileMonikerImpl_QueryInterface(), and ItemMonikerImpl_QueryInterface().

◆ ObjrefMoniker_CreateInstance()

HRESULT WINAPI ObjrefMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 1034 of file pointermoniker.c.

1035{
1037 HRESULT hr;
1038
1039 TRACE("(%p,%s,%p)\n", unk, debugstr_guid(iid), obj);
1040
1041 *obj = NULL;
1042
1043 if (unk)
1044 return CLASS_E_NOAGGREGATION;
1045
1047 if (FAILED(hr))
1048 return hr;
1049
1050 hr = IMoniker_QueryInterface(moniker, iid, obj);
1051 IMoniker_Release(moniker);
1052
1053 return hr;
1054}
HRESULT WINAPI CreateObjrefMoniker(IUnknown *obj, IMoniker **ret)

◆ PointerMoniker_CreateInstance()

HRESULT WINAPI PointerMoniker_CreateInstance ( IClassFactory iface,
IUnknown pUnk,
REFIID  riid,
void **  ppv 
)

Definition at line 618 of file pointermoniker.c.

620{
621 IMoniker *pMoniker;
622 HRESULT hr;
623
624 TRACE("(%p, %s, %p)\n", pUnk, debugstr_guid(riid), ppv);
625
626 *ppv = NULL;
627
628 if (pUnk)
630
631 hr = CreatePointerMoniker(NULL, &pMoniker);
632 if (FAILED(hr))
633 return hr;
634
635 hr = IMoniker_QueryInterface(pMoniker, riid, ppv);
636 IMoniker_Release(pMoniker);
637
638 return hr;
639}
HRESULT WINAPI CreatePointerMoniker(IUnknown *object, IMoniker **ret)