none
Why my driver does not have uninstall menu item on Device Mangager? RRS feed

  • Question

  • I create a virtual keyboard driver, it looks good , but it miss "uninstall" menu item on Device Manager UI.

    I handled IRP_MN_QUERY_CAPABILITIES as below, but "uninstall" also missed. Why?

     case IRP_MN_QUERY_CAPABILITIES: 
            {
          
             // irpStack->Parameters.DeviceCapabilities.Capabilities->SurpriseRemovalOK=TRUE;
            irpStack->Parameters.DeviceCapabilities.Capabilities->Removable = TRUE;
            KdPrint(("IRP_MN_QUERY_CAPABILITIES"));
            Irp->IoStatus.Status = status;
            Irp->IoStatus.Status = 0;
            IoCompleteRequest(Irp,IO_NO_INCREMENT);

            return status;
             }

    Help


    • Edited by Andy_2012 Wednesday, August 31, 2016 1:55 AM
    Friday, August 26, 2016 7:39 AM

Answers

  • how are you handling IRP_MN_QUERY_DEVICE_STATE are you setting PNP_DEVICE_NOT_DISABLEABLE? if you aren't setting the bit, kbdclass is setting the bit. from https://msdn.microsoft.com/en-us/library/windows/hardware/ff559618(v=vs.85).aspx

                  If this bit is set for a root-enumerated device, the device cannot be disabled or uninstalled.


    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, September 1, 2016 4:51 PM

All replies

  • is this purely a software driver or are you loading on an acpi enumerated device node?

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Friday, August 26, 2016 5:27 PM
  • Is a purely software driver. A virtual driver. Could you help me?
    Monday, August 29, 2016 1:57 AM
  • Hi Doron,

    Could you give me some advice? Thanks.

    Tuesday, August 30, 2016 1:58 AM
  • how are you handling IRP_MN_QUERY_DEVICE_STATE are you setting PNP_DEVICE_NOT_DISABLEABLE? if you aren't setting the bit, kbdclass is setting the bit. from https://msdn.microsoft.com/en-us/library/windows/hardware/ff559618(v=vs.85).aspx

                  If this bit is set for a root-enumerated device, the device cannot be disabled or uninstalled.


    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Thursday, September 1, 2016 4:51 PM