On 9/7/16 5:08 AM, Sebastian Lackner wrote:
On 06.09.2016 17:14, Aric Stewart wrote:
v2: Style changes v4: Updated with corrections from Thomas Faber
Includes a common function to check if a bus is enabled and a base common HID IRP_MJ_PNP handler
Signed-off-by: Aric Stewart aric@codeweavers.com
dlls/winebus.sys/Makefile.in | 5 ++-
. . .
- if (check_bus_disabled(registry_path))
- {
TRACE("UDEV plug and play bus disabled in registry\n");
return STATUS_SUCCESS;
Wouldn't it be better to return an error such that IoCreateDriver() fails?
No I personally don't think so. We are successfully loading just disabled or not doing anything.
- }
- return STATUS_SUCCESS;
+}
+#else
+NTSTATUS WINAPI udev_driver_init(DRIVER_OBJECT *driver, UNICODE_STRING *registry_path) +{
- TRACE("Dummy Linux udev Driver Init\n");
- return STATUS_SUCCESS;
Similar to above, wouldn't it be better to return an error?
Same as above.
+}
+#endif /* SONAME_LIBUDEV */ diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c index d495cd9..4690baf 100644 --- a/dlls/winebus.sys/main.c +++ b/dlls/winebus.sys/main.c @@ -28,11 +28,17 @@ #include "ddk/wdm.h" #include "wine/debug.h"
+#include "bus.h"
WINE_DEFAULT_DEBUG_CHANNEL(plugplay);
NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path ) {
- TRACE( "(%p, %s)\n", driver, debugstr_w(path->Buffer) );
static const WCHAR udevW[] = {'\','D','r','i','v','e','r','\','U','D','E','V',0};
static UNICODE_STRING udev = {sizeof(udevW) - sizeof(WCHAR), sizeof(udevW), (WCHAR*)udevW};
TRACE( "Wine Platform Bus(%p, %s)\n", driver, debugstr_w(path->Buffer) );
IoCreateDriver(&udev, udev_driver_init);
return STATUS_SUCCESS;
} diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 85dbef1..b595693 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -48,7 +48,8 @@ AddReg=\ SessionMgr,\ Tapi,\ Timezones,\
- LicenseInformation
- LicenseInformation,\
- PlatformBus
[DefaultInstall.NT] RegisterDlls=RegisterDllsSection @@ -73,7 +74,8 @@ AddReg=\ Tapi,\ Timezones,\ VersionInfo,\
- LicenseInformation
- LicenseInformation,\
- PlatformBus
[DefaultInstall.ntamd64] RegisterDlls=RegisterDllsSection @@ -100,7 +102,8 @@ AddReg=\ Tapi,\ Timezones,\ VersionInfo.ntamd64,\
- LicenseInformation
- LicenseInformation,\
- PlatformBus
[Wow64Install] RegisterDlls=RegisterDllsSection @@ -115,7 +118,8 @@ AddReg=\ Misc,\ Tapi,\ VersionInfo.ntamd64,\
- LicenseInformation
- LicenseInformation,\
- PlatformBus
[DefaultInstall.Services] AddService=BITS,0,BITSService @@ -3397,3 +3401,6 @@ HKLM,Software\Wine\LicenseInformation,"Shell-InBoxGames-Shanghai-EnableGame",0x1 HKLM,Software\Wine\LicenseInformation,"Shell-InBoxGames-Solitaire-EnableGame",0x10001,0x00000001 HKLM,Software\Wine\LicenseInformation,"Shell-InBoxGames-SpiderSolitaire-EnableGame",0x10001,0x00000001 HKLM,Software\Wine\LicenseInformation,"Shell-PremiumInBoxGames-Chess-EnableGame",0x10001,0x00000001
+[PlatformBus] +HKLM,System\CurrentControlSet\Services\UDEV,"Disabled",0x10001,0x00000000