76 IUnknown_AddRef(iface);
98 IOleItemContainer_LockContainer(
lock->container,
FALSE);
99 IOleItemContainer_Release(
lock->container);
130 IOleItemContainer_AddRef(
lock->container);
132 hr = IBindCtx_RegisterObjectBound(pbc, &
lock->IUnknown_iface);
133 IUnknown_Release(&
lock->IUnknown_iface);
158 *ppvObject = &
This->IROTData_iface;
166 return IUnknown_QueryInterface(
This->pMarshal,
riid, ppvObject);
174 IMoniker_AddRef(iface);
216 TRACE(
"(%p,%p)\n",iface,pClassID);
221 *pClassID = CLSID_ItemMoniker;
235 TRACE(
"(%p)\n",iface);
248 if (read_len !=
sizeof(
str_len))
275 WARN(
"Expected null terminated ansi name.\n");
286 WARN(
"Unexpected Unicode name length %ld.\n",
str_len);
352 TRACE(
"(%p, %p, %d)\n", iface,
stream, fClearDirty);
358 if (
This->itemDelimiter)
393 TRACE(
"(%p,%p)\n",iface,pcbSize);
400 pcbSize->
u.LowPart =
sizeof(
DWORD) +
404 if (
This->itemDelimiter)
405 pcbSize->
u.LowPart += (
lstrlenW(
This->itemDelimiter) + 1) * 4;
407 pcbSize->
u.HighPart=0;
414 DWORD bind_speed = BINDSPEED_INDEFINITE;
417 bind_opts.cbStruct =
sizeof(bind_opts);
418 if (
SUCCEEDED(IBindCtx_GetBindOptions(pbc, &bind_opts)) && bind_opts.dwTickCountDeadline)
419 bind_speed = bind_opts.dwTickCountDeadline < 2500 ? BINDSPEED_IMMEDIATE : BINDSPEED_MODERATE;
451 WARN(
"Failed to lock container, hr %#lx.\n",
hr);
482 WARN(
"Failed to lock container, hr %#lx.\n",
hr);
494 TRACE(
"%p, %p, %ld, %p, %p.\n", iface, pbc, dwReduceHowFar, ppmkToLeft, ppmkReduced);
496 if (ppmkReduced==
NULL)
529 TRACE(
"(%p,%d,%p)\n",iface,fForward,ppenumMoniker);
531 if (ppenumMoniker ==
NULL)
534 *ppenumMoniker =
NULL;
575 for (
i =
len ;
i > 0;
i--)
594 TRACE(
"(%p,%p,%p,%p)\n",iface,pbc,pmkToLeft,pmkNewlyRunning);
603 return IMoniker_IsEqual(iface, pmkNewlyRunning);
607 hr = IBindCtx_GetRunningObjectTable(pbc, &
rot);
610 hr = IRunningObjectTable_IsRunning(
rot, iface);
611 IRunningObjectTable_Release(
rot);
618 hr = IMoniker_IsRunning(pmkToLeft, pbc,
NULL,
NULL);
645 TRACE(
"(%p,%p,%p,%p)\n",iface,pbc,pmkToLeft,pItemTime);
664 res=IBindCtx_GetRunningObjectTable(pbc,&
rot);
666 IMoniker_Release(compositeMk);
670 if (IRunningObjectTable_GetTimeOfLastChange(
rot,compositeMk,pItemTime)!=
S_OK)
672 res=IMoniker_GetTimeOfLastChange(pmkToLeft,pbc,
NULL,pItemTime);
674 IMoniker_Release(compositeMk);
685 TRACE(
"(%p,%p)\n",iface,ppmk);
698 if (IMoniker_IsEqual(iface,
other) ==
S_OK)
701 IMoniker_AddRef(iface);
731 TRACE(
"(%p,%p,%p,%p)\n",iface,pbc,pmkToLeft,ppszDisplayName);
733 if (ppszDisplayName==
NULL)
736 if (pmkToLeft!=
NULL){
741 if (
This->itemDelimiter)
746 if (*ppszDisplayName==
NULL)
749 (*ppszDisplayName)[0] = 0;
750 if (
This->itemDelimiter)
770 TRACE(
"%p, %p, %p, %s, %p, %p.\n", iface, pbc, pmkToLeft,
debugstr_w(displayname), eaten, ppmkOut);
784 hr = IParseDisplayName_ParseDisplayName(
parser, pbc, displayname, eaten, ppmkOut);
785 IParseDisplayName_Release(
parser);
799 TRACE(
"(%p,%p)\n",iface,pwdMksys);
804 (*pwdMksys)=MKSYS_ITEMMONIKER;
830 TRACE(
"(%p)\n",iface);
842 TRACE(
"(%p)\n",iface);
858 TRACE(
"%p, %p, %lu, %p.\n", iface,
buffer, max_len, data_len);
861 *data_len =
sizeof(
CLSID) +
sizeof(
WCHAR) + (delim_len + name_len) *
sizeof(
WCHAR);
862 if (max_len < *data_len)
HRESULT create_anti_moniker(DWORD order, IMoniker **ret)
BOOL is_anti_moniker(IMoniker *iface, DWORD *order)
HRESULT WINAPI CreateAntiMoniker(IMoniker **moniker)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
HRESULT WINAPI MonikerCommonPrefixWith(IMoniker *pmkThis, IMoniker *pmkOther, IMoniker **ppmkCommon)
HRESULT WINAPI CreateGenericComposite(IMoniker *left, IMoniker *right, IMoniker **composite)
#define WideCharToMultiByte
#define MultiByteToWideChar
HRESULT MonikerMarshal_Create(IMoniker *inner, IUnknown **outer)
GLuint GLdouble GLdouble GLint GLint order
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static HRESULT WINAPI ItemMonikerImpl_ComposeWith(IMoniker *iface, IMoniker *right, BOOL only_if_not_generic, IMoniker **result)
static HRESULT WINAPI ItemMonikerImpl_Enum(IMoniker *iface, BOOL fForward, IEnumMoniker **ppenumMoniker)
static HRESULT WINAPI ItemMonikerImpl_Inverse(IMoniker *iface, IMoniker **ppmk)
static HRESULT WINAPI ItemMonikerROTDataImpl_GetComparisonData(IROTData *iface, BYTE *buffer, ULONG max_len, ULONG *data_len)
static ULONG WINAPI ItemMonikerROTDataImpl_Release(IROTData *iface)
static HRESULT WINAPI ItemMonikerImpl_GetSizeMax(IMoniker *iface, ULARGE_INTEGER *pcbSize)
static HRESULT WINAPI ItemMonikerImpl_Save(IMoniker *iface, IStream *stream, BOOL fClearDirty)
static HRESULT WINAPI ItemMonikerImpl_BindToStorage(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, void **ppvResult)
static HRESULT item_moniker_load_string_record(IStream *stream, WCHAR **ret)
static const IUnknownVtbl container_lock_vtbl
static HRESULT WINAPI ItemMonikerImpl_Reduce(IMoniker *iface, IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced)
static HRESULT WINAPI ItemMonikerImpl_GetDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName)
HRESULT WINAPI CreateItemMoniker(const WCHAR *delimiter, const WCHAR *name, IMoniker **ret)
static HRESULT WINAPI ItemMonikerImpl_IsDirty(IMoniker *iface)
static HRESULT WINAPI ItemMonikerImpl_IsRunning(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning)
static DWORD get_bind_speed_from_bindctx(IBindCtx *pbc)
static HRESULT WINAPI ItemMonikerImpl_Hash(IMoniker *iface, DWORD *pdwHash)
static HRESULT WINAPI container_lock_QueryInterface(IUnknown *iface, REFIID riid, void **obj)
static HRESULT WINAPI ItemMonikerImpl_BindToObject(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, REFIID riid, VOID **ppvResult)
static const IROTDataVtbl VT_ROTDataImpl
static HRESULT WINAPI ItemMonikerImpl_GetTimeOfLastChange(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pItemTime)
static ULONG WINAPI container_lock_Release(IUnknown *iface)
static ItemMonikerImpl * impl_from_IROTData(IROTData *iface)
static struct container_lock * impl_lock_from_IUnknown(IUnknown *iface)
static ULONG WINAPI ItemMonikerImpl_Release(IMoniker *iface)
static ItemMonikerImpl * impl_from_IMoniker(IMoniker *iface)
static HRESULT WINAPI ItemMonikerImpl_CommonPrefixWith(IMoniker *iface, IMoniker *other, IMoniker **prefix)
static ItemMonikerImpl * unsafe_impl_from_IMoniker(IMoniker *iface)
static const IMonikerVtbl VT_ItemMonikerImpl
static HRESULT set_container_lock(IOleItemContainer *container, IBindCtx *pbc)
static HRESULT WINAPI ItemMonikerImpl_RelativePathTo(IMoniker *iface, IMoniker *other, IMoniker **result)
HRESULT WINAPI ItemMoniker_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
static HRESULT WINAPI ItemMonikerImpl_IsEqual(IMoniker *iface, IMoniker *other)
static HRESULT WINAPI ItemMonikerImpl_GetClassID(IMoniker *iface, CLSID *pClassID)
static HRESULT WINAPI ItemMonikerImpl_ParseDisplayName(IMoniker *iface, IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR displayname, ULONG *eaten, IMoniker **ppmkOut)
static HRESULT WINAPI ItemMonikerImpl_IsSystemMoniker(IMoniker *iface, DWORD *pwdMksys)
static ULONG WINAPI container_lock_AddRef(IUnknown *iface)
static HRESULT WINAPI ItemMonikerImpl_Load(IMoniker *iface, IStream *stream)
static HRESULT WINAPI ItemMonikerImpl_QueryInterface(IMoniker *iface, REFIID riid, void **ppvObject)
static ULONG WINAPI ItemMonikerROTDataImpl_AddRef(IROTData *iface)
static ULONG WINAPI ItemMonikerImpl_AddRef(IMoniker *iface)
static HRESULT WINAPI ItemMonikerROTDataImpl_QueryInterface(IROTData *iface, REFIID riid, void **ppvObject)
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
void *WINAPI CoTaskMemAlloc(SIZE_T size)
#define memcpy(s1, s2, n)
const GUID IID_IParseDisplayName
const GUID IID_IOleItemContainer
const GUID IID_IPersistStream
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
struct _ULARGE_INTEGER::@4426 u
IOleItemContainer * container
Character const *const prefix
#define CONTAINING_RECORD(address, type, field)
#define MK_S_REDUCED_TO_SELF
#define CLASS_E_NOAGGREGATION