Nikolay Sivov : propsys: Implement PSGetPropertySystem().
Alexandre Julliard
julliard at winehq.org
Wed Jun 11 13:36:21 CDT 2014
Module: wine
Branch: master
Commit: d897b32598db0864a2188adc12fb3cca66f648ff
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d897b32598db0864a2188adc12fb3cca66f648ff
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon May 26 21:03:54 2014 +0400
propsys: Implement PSGetPropertySystem().
---
dlls/propsys/propsys.spec | 2 +-
dlls/propsys/propsys_main.c | 108 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 109 insertions(+), 1 deletion(-)
diff --git a/dlls/propsys/propsys.spec b/dlls/propsys/propsys.spec
index a64d53a..92b6d7c 100644
--- a/dlls/propsys/propsys.spec
+++ b/dlls/propsys/propsys.spec
@@ -84,7 +84,7 @@
@ stdcall PSGetPropertyDescriptionListFromString(ptr ptr ptr)
@ stub PSGetPropertyFromPropertyStorage
@ stub PSGetPropertyKeyFromName
-@ stub PSGetPropertySystem
+@ stdcall PSGetPropertySystem(ptr ptr)
@ stub PSGetPropertyValue
@ stub PSLookupPropertyHandlerCLSID
@ stdcall PSPropertyKeyFromString(wstr ptr)
diff --git a/dlls/propsys/propsys_main.c b/dlls/propsys/propsys_main.c
index ad96aab..4bb9d26 100644
--- a/dlls/propsys/propsys_main.c
+++ b/dlls/propsys/propsys_main.c
@@ -139,6 +139,114 @@ HRESULT WINAPI DllCanUnloadNow(void)
return S_FALSE;
}
+static HRESULT WINAPI propsys_QueryInterface(IPropertySystem *iface, REFIID riid, void **obj)
+{
+ *obj = NULL;
+
+ if (IsEqualIID(riid, &IID_IPropertySystem) || IsEqualIID(riid, &IID_IUnknown)) {
+ *obj = iface;
+ IPropertySystem_AddRef(iface);
+ return S_OK;
+ }
+
+ FIXME("%s\n", debugstr_guid(riid));
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI propsys_AddRef(IPropertySystem *iface)
+{
+ return 2;
+}
+
+static ULONG WINAPI propsys_Release(IPropertySystem *iface)
+{
+ return 1;
+}
+
+static HRESULT WINAPI propsys_GetPropertyDescription(IPropertySystem *iface,
+ REFPROPERTYKEY propkey, REFIID riid, void **ppv)
+{
+ FIXME("%p %s %p: stub\n", propkey, debugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_GetPropertyDescriptionByName(IPropertySystem *iface,
+ LPCWSTR canonical_name, REFIID riid, void **ppv)
+{
+ FIXME("%s %s %p: stub\n", debugstr_w(canonical_name), debugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_GetPropertyDescriptionListFromString(IPropertySystem *iface,
+ LPCWSTR proplist, REFIID riid, void **ppv)
+{
+ FIXME("%s %s %p: stub\n", debugstr_w(proplist), debugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_EnumeratePropertyDescriptions(IPropertySystem *iface,
+ PROPDESC_ENUMFILTER filter, REFIID riid, void **ppv)
+{
+ FIXME("%d %s %p: stub\n", filter, debugstr_guid(riid), ppv);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_FormatForDisplay(IPropertySystem *iface,
+ REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS flags,
+ LPWSTR dest, DWORD destlen)
+{
+ FIXME("%p %p %x %p %d: stub\n", key, propvar, flags, dest, destlen);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_FormatForDisplayAlloc(IPropertySystem *iface,
+ REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS flags,
+ LPWSTR *text)
+{
+ FIXME("%p %p %x %p: stub\n", key, propvar, flags, text);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_RegisterPropertySchema(IPropertySystem *iface, LPCWSTR path)
+{
+ FIXME("%s: stub\n", debugstr_w(path));
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_UnregisterPropertySchema(IPropertySystem *iface, LPCWSTR path)
+{
+ FIXME("%s: stub\n", debugstr_w(path));
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI propsys_RefreshPropertySchema(IPropertySystem *iface)
+{
+ FIXME("refresh: stub\n");
+ return E_NOTIMPL;
+}
+
+static const IPropertySystemVtbl propsysvtbl = {
+ propsys_QueryInterface,
+ propsys_AddRef,
+ propsys_Release,
+ propsys_GetPropertyDescription,
+ propsys_GetPropertyDescriptionByName,
+ propsys_GetPropertyDescriptionListFromString,
+ propsys_EnumeratePropertyDescriptions,
+ propsys_FormatForDisplay,
+ propsys_FormatForDisplayAlloc,
+ propsys_RegisterPropertySchema,
+ propsys_UnregisterPropertySchema,
+ propsys_RefreshPropertySchema
+};
+
+static IPropertySystem propsys = { &propsysvtbl };
+
+HRESULT WINAPI PSGetPropertySystem(REFIID riid, void **obj)
+{
+ return IPropertySystem_QueryInterface(&propsys, riid, obj);
+}
+
HRESULT WINAPI PSRegisterPropertySchema(PCWSTR path)
{
FIXME("%s stub\n", debugstr_w(path));
More information about the wine-cvs
mailing list