IDrive EVS Library

Quick links

EVS Library (SDK)

Steps to register the library:

  1. Download the SDK
  2. Extract the library DLL (evscmdlib.dll)
  3. Copy it to the code path
  4. Register the DLL using the command: regsvr32 <dll path>


Library DLL interfaces:
Common parameter details:

strUsername Your IDrive EVS account username.
strPassword Your IDrive EVS account password.
strPvtKey Your IDrive EVS account private encryption key. This parameter can be blank if you have configured with 'Default' encryption.
strServerIP IDrive EVS Server Address.
clupath Path reference for the Command line utility executable.
strProxy This is an optional parameter, to connect via proxy, provide the proxy username, password, IP address and port.

Syntax:
<proxy username>:<proxy password>:<proxy ip address>:<proxy port>

Example:
strProxy = "myuname:mypswd:192.168.1.43:1809"

If one of the parameter is not valid then set "0" (ZERO).
That is strProxy = "myuname:0:192.168.1.43:0", here password and port is blank.
templocation Temporary location for the application caching etc. This is an optional parameter.
formHandle Provide the upload/download/search etc. progress windows handle to receive the progress data for message communication. This is an optional parameter.

Backup
Function Interface:
Public Function Backup( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSorcefileList As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String, _
Optional ByVal formHandle As String, _
Optional ByVal templocation As String ) As Boolean

Purpose:
To backup selected file(s) / folder(s) to your IDrive EVS account.
Parameter:
  • strSorcefileList
    Provide the list of file / folder path names you wish to upload. Path names can be separated by "vblf" ('\n') character.

Listing
Function Interface:
Public Function Listing( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strPath As String, _
ByRef Listdata As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
To list the file(s) / folder(s) in your IDrive EVS account level-wise.
Parameters:
  • strPath
    Location in your IDrive EVS account from which you wish to list the items. Root list path can be "/".
  • Listdata
    This is an output parameter which returns the listed item (files / folders) details.

Restore
Function Interface:
Public Function Restore( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSorcefileList As String, _
ByVal strDestinationPath As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String, _
Optional formHandle As String, _
Optional ByVal templocation As String ) As Boolean

Purpose:
To download the selected file(s) / folder(s) from your IDrive EVS account.
Parameters:
  • strSorcefileList
    Provide the list of file / folder path names you wish to download. Path names can be separated by "vblf" ('\n') character.
  • strDestinationPath
    Provide upload destination where you wish to upload your data.

Search
Function Interface:
Public Function Search( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSearchPath As String, _
ByVal strSearchString As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String, _
Optional ByVal formHandle As String, _
Optional ByVal templocation As String ) As Boolean

Purpose:
Search all the items in your IDrive EVS account.
Parameters:
  • strSearchPath
    Search path on IDrive EVS account.
  • strSearchString
    Search pattern.

Version
Function Interface:
Public Function version( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strFilePath As String, _
ByRef VersionData As String, _
Optional ByVal strProxy As String) As Boolean

Purpose:
Provides version history of the selected (given file) file in your IDrive EVS account.
Parameters:
  • strFilePath
    Path of the file for which you wish to get the version history.
  • VersionData
    This is an output parameter which returns the version details of the particular file.

Get folder Size
Function Interface:
Public Function FolderSize( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strFolderPath As String, _
ByRef sFolderSize As String, _
ByRef sFileCount As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Calculate the size of a folder / drive / volume and the total file count in your IDrive EVS account.
Parameters:
  • strFolderPath
    Path of Folder for which you would like to find the size and total file count.
  • sFolderSize
    This is an output parameter which returns total size of the folder / drive / volume in Bytes.
  • sFileCount
    This is an output parameter which returns total file count inside the selected folder / drive / volume.

Trash Search
Function Interface:
Public Function TrashSearch( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSearchPath As String, _
ByVal strSearchString As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String, _
Optional ByVal formHandle As String, _
Optional ByVal templocation As String ) As Boolean

Purpose:
Search all items in Trash.
Parameters:
  • strSearchPath
    Search path on IDrive account.
  • strSearchString
    Search pattern.

Create Folder
Function Interface:
Public Function CreateFolder( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strFolderPath As String, _
ByRef CreateMsg As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Create a new directory in your IDrive EVS account.
Parameters:
  • strFolderPath
    Folder path on your IDrive account for the directory creation.
  • CreateMsg
    This is an output parameter which returns as "success" or "failure".

Rename
Function Interface:
Public Function Rename( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal StrOldPath As String, _
ByVal StrNewPath As String, _
ByRef RenameMsg As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Rename file(s) / folder(s) in your IDrive EVS account.
Parameters:
  • StrOldPath
    Old path of file / folder.
  • StrNewPath
    New path for rename.
  • RenameMsg
    This is an output parameter which returns as "success" or "failure".

Delete
Function Interface:
Public Function Delete( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSorcefileList As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Delete single or multiple file(s) / folder(s).
Parameter:
  • strSorcefileList
    Provide the list of file / folder path names you which to delete. Path names can be separated by "vblf" ('\n') character.

Trash Delete
Function Interface:
Public Function TrashDelete( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSorcefileList As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Delete single or multiple file(s) / folder(s) from Trash.
Parameters:
  • strSorcefileList
    Provide the list of file / folder path names you wish to delete from Trash. Path names can be separated by "vblf" ('\n') character.

Move-To-Original
Function Interface:
Public Function MoveToOriginal( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByVal strSorcefileList As String, _
ByVal clupath As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Move file(s) / folder(s) from Trash to its original location.
Parameter:
  • strSorcefileList
    Provide the list of file / folder path names you wish to move to the original location from Trash. Path names can be separated by "vblf" ('\n') character.

Calculate Account Quota
Function Interface:
Public Function GetAccountQuota( ByVal strUsername As String, _

ByVal strPassword As String, _
ByVal strPvtKey As String, _
ByVal strServerIP As String, _
ByRef sTotalAccQuota As String, _
ByRef sUsedQuota As String, _
ByRef sFileCount As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Returns the used quota details for your IDrive EVS account.
Parameters:
  • sTotalAccQuota
    This is an output parameter which returns the total quota of the account in Bytes.
  • sUsedQuota
    This is an output parameter which returns the used quota of the account in Bytes.
  • sFileCount
    This is an output parameter which returns the total file count in the account.

Get Server IP
Function Interface:
Public Function GetServerIP( ByVal strUsername As String, _

ByVal strPassword As String, _
ByRef GetServerIPMsg As String, _
Optional ByVal strProxy As String ) As Boolean

Purpose:
Returns Server (IP) address for the particular user.

Get Error
Function Interface:
Public Function GetErrorString() As string
Purpose:
Execute this API to get the errors generated during backup/restore etc operations.

Cancel Operation
Function Interface:
Public Function CancelOperation()
Purpose:
Execute this API to cancel the operations which are in progress.

EVS Library Sample Code:
Sample source code for Backup, Restore, Search etc., operations using Library interface

VC++ sample code

  1. Download the VC++ sample code
  2. Extract the source code
  3. Keep the Library DLL and Command Line Utility executable and its dependency in the code location
  4. Open the source code. Compile the code and execute

VB sample code

  1. Download the VB sample code
  2. Extract the source code
  3. Keep the Library DLL and Command Line Utility executable and its dependency in the code location
  4. Open the source code and run


Library/Sample project Dependencies
Download the code dependencies