DllTest - sample code to call dpwin32.dll in Visual Basic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This project is written in Visual Basic 6.0 but will the code will also work in version 5.0 (but you will have to create your own project). For VB.net code please look in the vb.net folder. The source files in the project are: File name Folder Description Form1.frm Samples\vb main source code file for VB dris.bas Samples\vb contains the DRIS structure & function declarations The idea is to include the dris.bas file in your project and use/modify which ever functions from form1.frm you feel are appropriate. The sample code contains 13 functions. You will not need to use all these functions in your code. Just use which ever functions are most appropriate and customise in your own way. The sample code is just a guide. You should implement the protection in a stronger way using the techniques described in the "Increasing your Protection" chapter of the manual. Code marked with !!!! are places where you should customise the sample code so that it will work properly: * Change the MY_SDSN value to the value of your SDSN * Change the MY_PRODCODE value to the Product Code in the dongle * Change the MyAlgorithm code (if you call a user algorithm) * Change the CryptDRIS code (if you encrypt the DRIS) * Change the CryptApiData (if you encrypt Data you send to our API) * Change the MyRWAlgorithm code (if encrypt Data you send to our API using the R/W algorithm) You will also probably want to replace our error messages with your own. Note - you should protect dpwin32.dll and not your program. Because your program is linked to the DLL it is protected. Note - to run the project from the IDE you will need to place the protected dpwin32.dll in the 32-bit Windows System folder*. For release you can place dpwin32.dll in the folder of the compiled executable or in the Windows System folder. The former is generally considered better as it is easier to install. It is also recommended that you rename dpwin32.dll to a name of your choice. In this case you will need to modify the dll name in the dris.bas file. Special Note for using Algorithms in Visual Basic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The algorithms are calculated on 32-bit integers (Long in VB). It is quite possible for the MyAlgorithm and MyRWAlgorithm functions to overflow if the values provided are too big. In the dongle the algorithms can never overflow - if the answer is too big then the high part of the answer is ignored. In practical terms: When you are using the r/w algorithm it is best not to pass random 32-bit integers. It is better to restrict the variables to 24-bit to avoid the possibility of overflows. When using a user algorithm it will behave exactly as the corresponding MyAlgorithm function will in VB except it will not give overflow errors. ~~~~~~~~~~~~~~~~~ * Windows System folder for 32-bit dlls is: c:\windows\system32 32-bit Windows c:\windows\sysWOW64 64-bit Windows