From d19e2ada9ce2d52d8b09e984fe5b12803bf6d4ca Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 23 Nov 2009 13:21:22 +0100 Subject: [PATCH] mountmgr: Move creation of the DEVICEMAP registry keys to mountmgr. --- dlls/mountmgr.sys/mountmgr.c | 16 ++++++++++++++++ tools/wine.inf.in | 2 -- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/dlls/mountmgr.sys/mountmgr.c b/dlls/mountmgr.sys/mountmgr.c index a80d4924ebf..7056ef406d0 100644 --- a/dlls/mountmgr.sys/mountmgr.c +++ b/dlls/mountmgr.sys/mountmgr.c @@ -400,10 +400,14 @@ NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path ) static const WCHAR device_mountmgrW[] = {'\\','D','e','v','i','c','e','\\','M','o','u','n','t','P','o','i','n','t','M','a','n','a','g','e','r',0}; static const WCHAR link_mountmgrW[] = {'\\','?','?','\\','M','o','u','n','t','P','o','i','n','t','M','a','n','a','g','e','r',0}; static const WCHAR harddiskW[] = {'\\','D','r','i','v','e','r','\\','H','a','r','d','d','i','s','k',0}; + static const WCHAR devicemapW[] = {'H','A','R','D','W','A','R','E','\\','D','E','V','I','C','E','M','A','P',0}; + static const WCHAR parallelW[] = {'P','A','R','A','L','L','E','L',' ','P','O','R','T','S',0}; + static const WCHAR serialW[] = {'S','E','R','I','A','L','C','O','M','M',0}; UNICODE_STRING nameW, linkW; DEVICE_OBJECT *device; NTSTATUS status; + HKEY hkey, devicemap_key; TRACE( "%s\n", debugstr_w(path->Buffer) ); @@ -422,6 +426,18 @@ NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path ) RegCreateKeyExW( HKEY_LOCAL_MACHINE, mounted_devicesW, 0, NULL, REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &mount_key, NULL ); + if (!RegCreateKeyExW( HKEY_LOCAL_MACHINE, devicemapW, 0, NULL, REG_OPTION_VOLATILE, + KEY_ALL_ACCESS, NULL, &devicemap_key, NULL )) + { + if (!RegCreateKeyExW( devicemap_key, parallelW, 0, NULL, REG_OPTION_VOLATILE, + KEY_ALL_ACCESS, NULL, &hkey, NULL )) + RegCloseKey( hkey ); + if (!RegCreateKeyExW( devicemap_key, serialW, 0, NULL, REG_OPTION_VOLATILE, + KEY_ALL_ACCESS, NULL, &hkey, NULL )) + RegCloseKey( hkey ); + RegCloseKey( devicemap_key ); + } + RtlInitUnicodeString( &nameW, harddiskW ); status = IoCreateDriver( &nameW, harddisk_driver_entry ); diff --git a/tools/wine.inf.in b/tools/wine.inf.in index d264054649c..f676898f3af 100644 --- a/tools/wine.inf.in +++ b/tools/wine.inf.in @@ -540,8 +540,6 @@ HKLM,System\CurrentControlSet\Control\Session Manager,,,"" HKLM,System\CurrentControlSet\Control\VMM32Files,,,"" HKCU,AppEvents\Schemes\Apps\Explorer\Navigating\.Current,,,"" HKCU,Software\Microsoft\Protected Storage System Provider,,,"" -HKLM,HARDWARE\DEVICEMAP\PARALLEL PORTS,,,"" -HKLM,HARDWARE\DEVICEMAP\SERIALCOMM,,,"" ; Some apps requires at least four subkeys of Active Setup\Installed Components HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA855-CC51-11CF-AAFA-00AA00B6015F},,2,"DirectDrawEx" HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{44BBA855-CC51-11CF-AAFA-00AA00B6015F},"ComponentID",2,"DirectDrawEx"