Fix some MSVC warnings (missing result checks) and slightly refactor some code to avoid code duplication.