Open
Description
Currently this returns an invalid handle. Throwing on non-existent device (added in #5041, reverted in #5053) isn't a great solution as it creates an ordering dependency, but neither is silently creating an useless object. Instead, it would be best if the handle was valid but we did something like print out a warning if the actual SimDevice doesn't exist by the time a function is called on the SimDeviceSim.