Я посмотрел источники VBox на GitHub и увидел, что VBOX_E_INVALID_VM_STATE
- это сообщение об ошибке, которое применяется во многих ситуациях, например, в следующих методах (среди прочих):
resumeWithReason, pauseWithReason, enableVMMStatistics, onlineMergeMedium, enumerateGuestProperties, onUSBDeviceDetach, accessGuestProperty, onUSBDeviceAttach, onSharedFolderChange, onUSBControllerChange, onVRDEServerChange, onStorageDeviceChange, onMediumChange, onStorageControllerChange, onParallelPortChange, onSerialPortChange, onNetworkAdapterChange, uninitialize, updateMachineState, assignRemoteMachine, assignMachine (target: xpidl, midl), getRemoteConsole, removeDeviceFilter, createDeviceFilter, teleport, restoreSnapshot, deleteSnapshotRange, deleteSnapshotAndAllChildren, takeSnapshot, removeSharedFolder, etc.
Есть ли причина, по которой одна и та же ошибка используется в совершенно разных ситуациях?
Это делает почти невозможным узнать причину, по которой гость ввел VBOX_E_INVALID_VM_STATE
.
Не лучше ли иметь индивидуализированные результаты ошибок, связанные с методом, который их породил, например, VBOX_E_INVALID_VM_STATE_in_removeSharedFolder
или VBOX_E_INVALID_VM_STATE_in_takeSnapshot
?
Таким образом, у пользователя будет, по крайней мере, подозрение, почему его гостевая ВМ вошла VBOX_E_INVALID_VM_STATE
.
Если я хочу создать ветвь кодовой базы VBox, где я буду реализовывать индивидуальные сообщения об ошибках, какую документацию мне следует прочитать, чтобы узнать, какие файлы в vbox включены github должен быть изменен?