def checkResult(self, interface, methodOrFunction): if interface is not None and interface.name == 'IDXGIKeyedMutex' and methodOrFunction.name == 'AcquireSync': print(r' if (_result != S_OK) {') print(r' retrace::failed(call, _result);') self.handleFailure(interface, methodOrFunction) print(r' }') return return Retracer.checkResult(self, interface, methodOrFunction)
def checkResult(self, interface, methodOrFunction): # Catch when device is removed, and report the reason. if str(methodOrFunction.type) == 'HRESULT': if interface is not None: getDeviceRemovedReasonMethod = interface.getMethodByName("GetDeviceRemovedReason") if getDeviceRemovedReasonMethod is not None: print r' if (FAILED(_result)) {' print r' retrace::failed(call, _result);' print r' if (_result == DXGI_ERROR_DEVICE_REMOVED) {' print r' HRESULT _reason = _this->GetDeviceRemovedReason();' print r' retrace::failed(call, _reason);' print r' exit(1);' print r' }' print r' return;' print r' }' return Retracer.checkResult(self, interface, methodOrFunction)