[PATCH 3/5] include: Add IShellItemArray and IShellItemFilter interface declarations.
David Hedberg
david.hedberg at gmail.com
Fri Jun 11 06:17:17 CDT 2010
---
dlls/mmdevapi/main.c | 2 +-
dlls/uuid/uuid.c | 1 +
include/shobjidl.idl | 72 +++++++++++++++++++++++++++++++++++++++++++++++++-
3 files changed, 73 insertions(+), 2 deletions(-)
diff --git a/dlls/mmdevapi/main.c b/dlls/mmdevapi/main.c
index 18d8f80..060f56b 100644
--- a/dlls/mmdevapi/main.c
+++ b/dlls/mmdevapi/main.c
@@ -38,8 +38,8 @@
#include "ole2.h"
#include "olectl.h"
-#include "initguid.h"
#include "mmdeviceapi.h"
+#include "initguid.h"
#include "dshow.h"
#include "dsound.h"
#include "audioclient.h"
diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index f8d19e2..d7a521c 100644
--- a/dlls/uuid/uuid.c
+++ b/dlls/uuid/uuid.c
@@ -83,6 +83,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "sensevts.h"
#include "ocmm.h"
#include "commoncontrols.h"
+#include "mmdeviceapi.h"
/* FIXME: cguids declares GUIDs but does not define their values */
diff --git a/include/shobjidl.idl b/include/shobjidl.idl
index 5e5c9e4..2230d2e 100644
--- a/include/shobjidl.idl
+++ b/include/shobjidl.idl
@@ -30,7 +30,7 @@ import "propidl.idl";
/* FIXME: import "prsht.idl";*/
import "msxml.idl";
import "wtypes.idl";
-/* FIXME: import "propsys.idl"; */
+import "propsys.idl";
/* FIXME: import "structuredquery.idl"; */
cpp_quote("/* FIXME: #include <sherrors.h> */")
@@ -425,6 +425,76 @@ interface IEnumShellItems : IUnknown
}
/*****************************************************************************
+ * IShellItemArray interface
+ */
+[
+ object,
+ uuid(B63EA76D-1F85-456F-A19C-48159EFA858B),
+ pointer_default(unique)
+]
+interface IShellItemArray : IUnknown
+{
+ typedef [v1_enum] enum SIATTRIBFLAGS {
+ SIATTRIBFLAGS_AND = 0x0001,
+ SIATTRIBFLAGS_OR = 0x0002,
+ SIATTRIBFLAGS_APPCOMPAT = 0x0003,
+ SIATTRIBFLAGS_MASK = 0x0003, /* not a typo */
+ SIATTRIBFLAGS_ALLITEMS = 0x4000
+ } SIATTRIBFLAGS;
+ cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(SIATTRIBFLAGS)")
+
+ HRESULT BindToHandler(
+ [in, unique] IBindCtx *pbc,
+ [in] REFGUID bhid,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppvOut);
+
+ HRESULT GetPropertyStore(
+ [in] GETPROPERTYSTOREFLAGS flags,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv);
+
+ HRESULT GetPropertyDescriptionList(
+ [in] REFPROPERTYKEY keyType,
+ [in] REFIID riid,
+ [out, iid_is(riid)] void **ppv);
+
+ HRESULT GetAttributes(
+ [in] SIATTRIBFLAGS AttribFlags,
+ [in] SFGAOF sfgaoMask,
+ [out] SFGAOF *psfgaoAttribs);
+
+ HRESULT GetCount(
+ [out] DWORD *pdwNumItems);
+
+ HRESULT GetItemAt(
+ [in] DWORD dwIndex,
+ [out] IShellItem **ppsi);
+
+ HRESULT EnumItems(
+ [out] IEnumShellItems **ppenumShellItems);
+
+}
+
+/*****************************************************************************
+ * IShellItemFilter interface
+ */
+[
+ object,
+ uuid(2659B475-EEB8-48B7-8F07-B378810F48CF),
+ pointer_default(unique)
+]
+interface IShellItemFilter : IUnknown
+{
+ HRESULT IncludeItem(
+ [in] IShellItem *psi);
+
+ HRESULT GetEnumFlagsForItem(
+ [in] IShellItem *psi,
+ [out] SHCONTF *pgrfFlags);
+}
+
+/*****************************************************************************
* FOLDERSETTINGS
*/
typedef char *LPVIEWSETTINGS;
--
1.7.1
More information about the wine-patches
mailing list