Owen Rudge : shell32: Add support for WantsForDISPLAY and HideAsDeletePerUser to the register_coclasses routine .
Alexandre Julliard
julliard at winehq.org
Tue Jun 24 06:45:25 CDT 2008
Module: wine
Branch: master
Commit: 03a4b8d4b034ebbaaa05b6d15902afe61bee2d87
URL: http://source.winehq.org/git/wine.git/?a=commit;h=03a4b8d4b034ebbaaa05b6d15902afe61bee2d87
Author: Owen Rudge <owen at owenrudge.net>
Date: Mon Jun 23 18:53:31 2008 +0100
shell32: Add support for WantsForDISPLAY and HideAsDeletePerUser to the register_coclasses routine.
---
dlls/shell32/regsvr.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/shell32/regsvr.c b/dlls/shell32/regsvr.c
index 199a9dc..4d87896 100644
--- a/dlls/shell32/regsvr.c
+++ b/dlls/shell32/regsvr.c
@@ -80,8 +80,10 @@ struct regsvr_coclass
/* flags for regsvr_coclass.flags */
#define SHELLEX_MAYCHANGEDEFAULTMENU 0x00000001
#define SHELLFOLDER_WANTSFORPARSING 0x00000002
-#define SHELLFOLDER_ATTRIBUTES 0x00000004
-#define SHELLFOLDER_CALLFORATTRIBUTES 0x00000008
+#define SHELLFOLDER_WANTSFORDISPLAY 0x00000004
+#define SHELLFOLDER_ATTRIBUTES 0x00000008
+#define SHELLFOLDER_CALLFORATTRIBUTES 0x00000010
+#define SHELLFOLDER_HIDEASDELETE 0x00000020
static HRESULT register_coclasses(struct regsvr_coclass const *list);
static HRESULT unregister_coclasses(struct regsvr_coclass const *list);
@@ -133,9 +135,11 @@ static WCHAR const defaulticon_keyname[] = {
'D','e','f','a','u','l','t','I','c','o','n',0};
static char const tmodel_valuename[] = "ThreadingModel";
static char const wfparsing_valuename[] = "WantsFORPARSING";
+static char const wfdisplay_valuename[] = "WantsFORDISPLAY";
static char const attributes_valuename[] = "Attributes";
static char const cfattributes_valuename[] = "CallForAttributes";
static char const localized_valuename[] = "LocalizedString";
+static char const hideasdelete_valuename[] = "HideAsDeletePerUser";
/***********************************************************************
* static helper functions
@@ -333,7 +337,7 @@ static HRESULT register_coclasses(struct regsvr_coclass const *list)
}
if (list->flags &
- (SHELLFOLDER_WANTSFORPARSING|SHELLFOLDER_ATTRIBUTES|SHELLFOLDER_CALLFORATTRIBUTES))
+ (SHELLFOLDER_WANTSFORPARSING|SHELLFOLDER_WANTSFORDISPLAY|SHELLFOLDER_ATTRIBUTES|SHELLFOLDER_CALLFORATTRIBUTES|SHELLFOLDER_HIDEASDELETE))
{
HKEY shellfolder_key;
@@ -343,6 +347,10 @@ static HRESULT register_coclasses(struct regsvr_coclass const *list)
if (res != ERROR_SUCCESS) goto error_close_clsid_key;
if (list->flags & SHELLFOLDER_WANTSFORPARSING)
res = RegSetValueExA(shellfolder_key, wfparsing_valuename, 0, REG_SZ, (const BYTE *)"", 1);
+ if (list->flags & SHELLFOLDER_WANTSFORDISPLAY)
+ res = RegSetValueExA(shellfolder_key, wfdisplay_valuename, 0, REG_SZ, (const BYTE *)"", 1);
+ if (list->flags & SHELLFOLDER_HIDEASDELETE)
+ res = RegSetValueExA(shellfolder_key, hideasdelete_valuename, 0, REG_SZ, (const BYTE *)"", 1);
if (list->flags & SHELLFOLDER_ATTRIBUTES)
res = RegSetValueExA(shellfolder_key, attributes_valuename, 0, REG_DWORD,
(const BYTE *)&list->dwAttributes, sizeof(DWORD));
More information about the wine-cvs
mailing list