Q: I'm a Visual Basic developer and I can't figure out why Enigma API failed after execution? Here is the part of my sources:
The codes between If - End If have never been executed.
If EP_RegLoadAndCheckKey = TRUE Then ' **************** End If
A: You have a mistake in the first line of the above source, the expression EP_RegLoadAndCheckKey = TRUE will never be executed in Visual Basic. It occurs due to the peculiarities of the Visual Basic language, where a TRUE value means $FFFF, a FALSE value means 0, but Enigma API's return 0 if a function fails or 1 if it succeeds. Use the following scheme to solve your problem:
If EP_RegLoadAndCheckKey Then ' **************** End If
Q: Do I need to distribute enigma_api.dll with the protected module?
A: No, you don't, enigma_api.dll is just am empty library which exports empty Enigma API's. This library is used for debugging of a non-protected module in development, so this library is not needed after the module is protected.
Q: Is it possible to use Enigma API with Visual Basic .NET applications?
A: Yes, it is possible! Enigma API definitions for Visual Basic .NET are similar to the Visual Basic ones. See Example\ folder for examples of API usage and EnigmaSDK\VB\ for API definitions.