_ThrowOnError
# define ThrowOnError(x) _ThrowOnError(x, __FILE__, __LINE__)
# define ThrowOnError(x) _ThrowOnError(x, NULL, 0)
void _ThrowOnError(status_t, const char*, int32);