Skip to content

Conversation

@Prowler1000
Copy link

It seems as though #8 was the result of system drives (like the drive your OS is on) being in use when attempting to check the online status. I've added handling for the case of this specific error, but it does not discriminate between system drives and non-system drives. When loading the physical disk form, we catch IOExceptions from GetOnlineStatus, check if they're a result of system error 32, and set the status to "Unknown" as opposed to "Online" or "Offline". If the exception is not because of system error 32, we rethrow the exception

Catch IO exceptions that are a result of Windows system error code 32 "The process cannot access the file because it is being used by another process." as this is seems to be the expected behavior for system disks.

Online status will be set to "Unknown" in this event. Rethrow IO exceptions that are not a result of error 32.
@Prowler1000
Copy link
Author

Sorry this took me so long to do, I got myself hyperfocused on other projects and eventually, it had been so long that I started avoiding working on this fix. Decided I'd get it done this evening and, while I haven't done any extensive testing, everything seems to work as expected on my device.

@TalAloni
Copy link
Owner

The "EndsWith" is very inelegant, even without trying to understand the problem I can tell I don't like the solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants