Commit cd88a0f3 authored by Francois Gouget's avatar Francois Gouget Committed by Alexandre Julliard

shell32: Add definitions for the IEnumACString interface.

Enable the corresponding browseui:autocomplete tests.
parent 9fbd18cc
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <initguid.h> #include <initguid.h>
#include <windows.h> #include <windows.h>
#include <shlobj.h> #include <shlobj.h>
#include <shldisp.h>
#include <shlwapi.h> #include <shlwapi.h>
#include <shlguid.h> #include <shlguid.h>
...@@ -127,10 +128,8 @@ static HRESULT STDMETHODCALLTYPE TestACL_QueryInterface(IEnumString *iface, REFI ...@@ -127,10 +128,8 @@ static HRESULT STDMETHODCALLTYPE TestACL_QueryInterface(IEnumString *iface, REFI
return S_OK; return S_OK;
} }
#if 0 /* IID_IEnumACString not defined yet in wine */
if (!IsEqualGUID(iid, &IID_IEnumACString)) if (!IsEqualGUID(iid, &IID_IEnumACString))
trace("unknown interface queried\n"); trace("unknown interface queried\n");
#endif
return E_NOINTERFACE; return E_NOINTERFACE;
} }
...@@ -239,6 +238,7 @@ static void test_ACLMulti(void) ...@@ -239,6 +238,7 @@ static void test_ACLMulti(void)
const char *strings2[] = {"a", "b", "d"}; const char *strings2[] = {"a", "b", "d"};
WCHAR exp[] = {'A','B','C',0}; WCHAR exp[] = {'A','B','C',0};
IEnumString *obj; IEnumString *obj;
IEnumACString *unk;
TestACL *acl1, *acl2; TestACL *acl1, *acl2;
IACList *acl; IACList *acl;
IObjMgr *mgr; IObjMgr *mgr;
...@@ -252,11 +252,10 @@ static void test_ACLMulti(void) ...@@ -252,11 +252,10 @@ static void test_ACLMulti(void)
ok(obj->lpVtbl->QueryInterface(obj, &IID_IACList2, &tmp) == E_NOINTERFACE, ok(obj->lpVtbl->QueryInterface(obj, &IID_IACList2, &tmp) == E_NOINTERFACE,
"Unexpected interface IACList2 in ACLMulti\n"); "Unexpected interface IACList2 in ACLMulti\n");
stop_on_error(obj->lpVtbl->QueryInterface(obj, &IID_IObjMgr, (LPVOID *)&mgr)); stop_on_error(obj->lpVtbl->QueryInterface(obj, &IID_IObjMgr, (LPVOID *)&mgr));
#if 0 /* IID_IEnumACString not defined yet in wine */
ole_ok(obj->lpVtbl->QueryInterface(obj, &IID_IEnumACString, &unk)); todo_wine ole_ok(obj->lpVtbl->QueryInterface(obj, &IID_IEnumACString, (LPVOID*)&unk));
if (unk != NULL) if (unk != NULL)
unk->lpVtbl->Release(unk); unk->lpVtbl->Release(unk);
#endif
ok(obj->lpVtbl->Next(obj, 1, (LPOLESTR *)&tmp, &i) == S_FALSE, "Unexpected return from Next\n"); ok(obj->lpVtbl->Next(obj, 1, (LPOLESTR *)&tmp, &i) == S_FALSE, "Unexpected return from Next\n");
ok(i == 0, "Unexpected fetched value %d\n", i); ok(i == 0, "Unexpected fetched value %d\n", i);
......
...@@ -28,6 +28,35 @@ import "comcat.idl"; ...@@ -28,6 +28,35 @@ import "comcat.idl";
#include <shdispid.h> #include <shdispid.h>
/***************************************************************************** /*****************************************************************************
* IEnumACString interface
*/
[
local,
object,
uuid(8e74c210-cf9d-4eaf-a403-7356428f0a5a),
pointer_default(unique)
]
interface IEnumACString : IEnumString
{
typedef IEnumACString *PENUMACSTRING, *LPENUMACSTRING;
typedef enum _tagACENUMOPTION
{
ACEO_NONE = 0x00000000,
ACEO_MOSTRECENTFIRST = 0x00000001,
ACEO_FIRSTUNUSED = 0x00010000,
} ACENUMOPTION;
HRESULT NextItem( [out] LPWSTR pszUrl,
[in] ULONG cchMax,
[out] ULONG *pulSortIndex);
HRESULT SetEnumOptions( [in] DWORD dwOptions );
HRESULT GetEnumOptions( [out] DWORD *pdwOptions );
}
/*****************************************************************************
* IAutoComplete interface * IAutoComplete interface
*/ */
[ [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment