scrrun: Implement Clone() for folder collection.
This commit is contained in:
parent
c1b7a075ca
commit
844aa7959e
|
@ -144,6 +144,7 @@ static inline HRESULT create_error(DWORD err)
|
||||||
|
|
||||||
static HRESULT create_folder(const WCHAR*, IFolder**);
|
static HRESULT create_folder(const WCHAR*, IFolder**);
|
||||||
static HRESULT create_file(BSTR, IFile**);
|
static HRESULT create_file(BSTR, IFile**);
|
||||||
|
static HRESULT create_foldercoll_enum(struct foldercollection*, IUnknown**);
|
||||||
|
|
||||||
static inline BOOL is_dir_data(const WIN32_FIND_DATAW *data)
|
static inline BOOL is_dir_data(const WIN32_FIND_DATAW *data)
|
||||||
{
|
{
|
||||||
|
@ -569,8 +570,8 @@ static HRESULT WINAPI foldercoll_enumvariant_Reset(IEnumVARIANT *iface)
|
||||||
static HRESULT WINAPI foldercoll_enumvariant_Clone(IEnumVARIANT *iface, IEnumVARIANT **pclone)
|
static HRESULT WINAPI foldercoll_enumvariant_Clone(IEnumVARIANT *iface, IEnumVARIANT **pclone)
|
||||||
{
|
{
|
||||||
struct enumvariant *This = impl_from_IEnumVARIANT(iface);
|
struct enumvariant *This = impl_from_IEnumVARIANT(iface);
|
||||||
FIXME("(%p)->(%p): stub\n", This, pclone);
|
TRACE("(%p)->(%p)\n", This, pclone);
|
||||||
return E_NOTIMPL;
|
return create_foldercoll_enum(This->data.u.foldercoll.coll, (IUnknown**)pclone);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const IEnumVARIANTVtbl foldercollenumvariantvtbl = {
|
static const IEnumVARIANTVtbl foldercollenumvariantvtbl = {
|
||||||
|
@ -583,7 +584,7 @@ static const IEnumVARIANTVtbl foldercollenumvariantvtbl = {
|
||||||
foldercoll_enumvariant_Clone
|
foldercoll_enumvariant_Clone
|
||||||
};
|
};
|
||||||
|
|
||||||
static HRESULT create_foldercoll_enum(struct foldercollection *collection, IUnknown **newenum)
|
HRESULT create_foldercoll_enum(struct foldercollection *collection, IUnknown **newenum)
|
||||||
{
|
{
|
||||||
struct enumvariant *This;
|
struct enumvariant *This;
|
||||||
|
|
||||||
|
|
|
@ -863,12 +863,9 @@ static void test_FolderCollection(void)
|
||||||
|
|
||||||
/* clone enumerator */
|
/* clone enumerator */
|
||||||
hr = IEnumVARIANT_Clone(enumvar, &clone);
|
hr = IEnumVARIANT_Clone(enumvar, &clone);
|
||||||
todo_wine
|
|
||||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
if (hr == S_OK) {
|
|
||||||
ok(clone != enumvar, "got %p, %p\n", enumvar, clone);
|
ok(clone != enumvar, "got %p, %p\n", enumvar, clone);
|
||||||
IEnumVARIANT_Release(clone);
|
IEnumVARIANT_Release(clone);
|
||||||
}
|
|
||||||
|
|
||||||
hr = IEnumVARIANT_Reset(enumvar);
|
hr = IEnumVARIANT_Reset(enumvar);
|
||||||
ok(hr == S_OK, "got 0x%08x\n", hr);
|
ok(hr == S_OK, "got 0x%08x\n", hr);
|
||||||
|
|
Loading…
Reference in New Issue