EldoS | Feel safer!

Software components for data protection, secure storage and transfer

ECBFSError exception throwing

Also by EldoS: CallbackDisk
Create virtual disks backed by memory or custom location, expose disk images as disks and more.
#16388
Posted: 05/06/2011 12:19:53
by Vladimir Cherniga (EldoS Corp.)

Quote
As I read from doc, this function is not to be called from callbacks, so there should be no code translation. Am I right here?

We will fix this function in the nearest build in order to throw the proper exception message ("Storage is Not Active").
#16389
Posted: 05/06/2011 12:29:18
by Eugene Mayevski (EldoS Corp.)

I've updated the help file.

Also I misunderstood your description of the error message problem. I thought about different situation.

In .NET the following tricky code is used to obtain the message from error code:

Code
      Win32Exception^ e = gcnew Win32Exception(ErrorCode);
      mMessage = e->Message;


So the complaints should be directed to .NET developers, which don't provide description for errors.


Sincerely yours
Eugene Mayevski
#16406
Posted: 05/10/2011 06:31:12
by Ivan P (Priority Standard support level)
Joined: 04/11/2011
Posts: 66

Hi again :)


Today we experienced "Overlapped I/O operation is in progress" (NativeCode = 997)
on cbfs.CreateStorage().

After some tries we understood that the problem is in that our trial registration key has expired.

So I have 2 questions:

1. Why don't I receive some more informative erorr? If it must be ECBFSError, it may contain some specific NativeCode described in documentation to be interpreted as "key expired".

2. Why does CallbackFileSystem.SetRegistrationKey() complete successfully? If it failed, I could identify key expiration problem before trying to do any actions with storage.

Thanks
#16407
Posted: 05/10/2011 07:23:05
by Eugene Mayevski (EldoS Corp.)

I described above, how error codes are translated. The license keys is handled in the driver, with all complexities coming from this fact.


Sincerely yours
Eugene Mayevski
#16408
Posted: 05/10/2011 07:49:28
by Ivan P (Priority Standard support level)
Joined: 04/11/2011
Posts: 66

I understand how the error is translated. The native error code is 997, ant it's really ERROR_IO_PENDING in WinError.h. So it's message translated by .Net correctly.

I just don't understand how can I distinguish between problem with pending I/O operations and some problem with the license key.

Is there any way to do this with current version? If no, is it a planned feature?

Thanks
#16409
Posted: 05/10/2011 08:16:07
by Eugene Mayevski (EldoS Corp.)

No, nothing is planned in this aspect and will not be. The evaluation key is namely for evaluation, and this problem doesn't exist for licensed users.


Sincerely yours
Eugene Mayevski
#16412
Posted: 05/10/2011 12:26:25
by Ivan P (Priority Standard support level)
Joined: 04/11/2011
Posts: 66

God, I have just realized what was the root of all these problems with messages!

Th reason is that ECBFSError (inherited form Win32Exception) does not override virual members Message and ErrorCode, but instead it has additional methods Message() and ErrorCode()!

Unfortunately it's not reflected in documentation, and I supposed it to have valid Message and ErrorCode properties inherited from Exception class. For example, the logging facility in our product works with these properties (that each Exception inheritor has).

When trying methods Message() and ErrorCode() I really get "Your license key is expired" message . Why did you say it won't be implemented when it's already done?

BTW, since I figured out the problem, will next release (that seems to be ready soon) have these two properties overriden?
As I understand, the changes are really small: it just can call Message() and ErrorCode() internally. But it will significantly simplify error handling development (at least in our product)

Thanks,
Ivan
#16413
Posted: 05/10/2011 12:51:19
by Eugene Mayevski (EldoS Corp.)

Quote
Ivan P wrote:
When trying methods Message() and ErrorCode() I really get "Your license key is expired" message . Why did you say it won't be implemented when it's already done?



You asked if it were in the plan. No, it weren't (no matter if the functionality is present or not).

Yes, we will check and fix (if appropriate) the code in regards to Message and ErrorCode properties.


Sincerely yours
Eugene Mayevski
#16418
Posted: 05/10/2011 14:12:09
by Eugene Mayevski (EldoS Corp.)

Exception class has been fixed. Thank you for pointing at the coding issue.


Sincerely yours
Eugene Mayevski
#16423
Posted: 05/11/2011 03:42:02
by Ivan P (Priority Standard support level)
Joined: 04/11/2011
Posts: 66

Thanks a lot, Eugene!

Looking forward for new build.

Ivan
Also by EldoS: Rethync
The cross-platform framework that simplifies synchronizing data between mobile and desktop applications and servers and cloud storages

Reply

Statistics

Topic viewed 11921 times

Number of guests: 1, registered members: 0, in total hidden: 0




|

Back to top

As of July 15, 2016 EldoS Corporation will operate as a division of /n software inc. For more information, please read the announcement.

Got it!