Shouldn't something similar be also done for _CurrentScheduler::_Id?
yeah, but not sure how to automate testing for it. once either _GetNumberOfVirtualProcessors or _Id is called, the scheduler is created and I don't know how to kill it
in the attached test, you can comment out either call to the underscore version and both the non-underscore versions (GetNumberOfVirtualProcessors and Id) still pass