[PATCH v2 6/7] hidclass.sys: Update the interface state when a device is added or removed.
Aric Stewart
aric at codeweavers.com
Fri Aug 17 14:08:05 CDT 2018
Signed-off-by: Aric Stewart <aric at codeweavers.com>
On 8/16/18 6:37 PM, Zebediah Figura wrote:
> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> ---
> v2: fix compile error
>
> dlls/hidclass.sys/device.c | 3 +++
> dlls/hidclass.sys/pnp.c | 12 ++++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/dlls/hidclass.sys/device.c b/dlls/hidclass.sys/device.c
> index a5cbee9..3364eb3 100644
> --- a/dlls/hidclass.sys/device.c
> +++ b/dlls/hidclass.sys/device.c
> @@ -32,6 +32,7 @@
> #include "wine/debug.h"
> #include "ddk/hidsdi.h"
> #include "ddk/hidtypes.h"
> +#include "ddk/wdm.h"
>
> #include "initguid.h"
> #include "devguid.h"
> @@ -166,6 +167,8 @@ void HID_DeleteDevice(HID_MINIDRIVER_REGISTRATION *driver, DEVICE_OBJECT *device
> TRACE("Delete link %s\n", debugstr_w(ext->link_name));
> RtlInitUnicodeString(&linkW, ext->link_name);
>
> + IoSetDeviceInterfaceState(&linkW, FALSE);
> +
> status = IoDeleteSymbolicLink(&linkW);
> if (status != STATUS_SUCCESS)
> ERR("Delete Symbolic Link failed (%x)\n",status);
> diff --git a/dlls/hidclass.sys/pnp.c b/dlls/hidclass.sys/pnp.c
> index 6ee89c1..34bd944 100644
> --- a/dlls/hidclass.sys/pnp.c
> +++ b/dlls/hidclass.sys/pnp.c
> @@ -23,6 +23,7 @@
> #include <stdarg.h>
> #include "hid.h"
> #include "ddk/hidtypes.h"
> +#include "ddk/wdm.h"
> #include "regstr.h"
> #include "wine/debug.h"
> #include "wine/unicode.h"
> @@ -282,6 +283,17 @@ NTSTATUS WINAPI HID_PNP_Dispatch(DEVICE_OBJECT *device, IRP *irp)
> }
> break;
> }
> + case IRP_MN_START_DEVICE:
> + {
> + BASE_DEVICE_EXTENSION *ext = device->DeviceExtension;
> + UNICODE_STRING linkU;
> +
> + rc = minidriver->PNPDispatch(device, irp);
> +
> + RtlInitUnicodeString(&linkU, ext->link_name);
> + IoSetDeviceInterfaceState(&linkU, TRUE);
> + return rc;
> + }
> case IRP_MN_REMOVE_DEVICE:
> {
> return PNP_RemoveDevice(minidriver, device, irp);
>
More information about the wine-devel
mailing list