Commit 91ac8eb0 authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

hidclass.sys: Update the interface state when a device is added or removed.

parent 8343099f
......@@ -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);
......
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment