Elizabeth Figura (@zfigura) commented about dlls/winebth.sys/winebth.c:
{
DEVICE_CAPABILITIES *caps = stack->Parameters.DeviceCapabilities.Capabilities;
caps->Removable = TRUE;
caps->SurpriseRemovalOK = TRUE;
caps->RawDeviceOK = TRUE;
ret = STATUS_SUCCESS;
break;
}
case IRP_MN_START_DEVICE:
ret = STATUS_SUCCESS;
break;
case IRP_MN_REMOVE_DEVICE:
{
irp->IoStatus.Status = STATUS_SUCCESS;
IoCompleteRequest( irp, IO_NO_INCREMENT );
return STATUS_SUCCESS;
Why not fall through here? Also, no IoDeleteDevice()?