typedef struct TWMContent {

    int   WMType;
    char* Name;
    int   NameLen;
    char* Text;
    int   TextLen;
    char* FileName;
    int   FileNameLen;
    char* AFile;
    int   AFileLen;

} TWMContent, *PWMContent;

extern "C"
{
BOOL __declspec(dllimport) __stdcall EP_RegSaveKey( char* Name, char* Key );
BOOL __declspec(dllimport) __stdcall EP_RegLoadKey( char** Name, char** Key );
BOOL __declspec(dllimport) __stdcall EP_RegCheckKey( char* Name, char* Key );
BOOL __declspec(dllimport) __stdcall EP_RegDeleteKey();
BOOL __declspec(dllimport) __stdcall EP_RegLoadAndCheckKey();
BOOL __declspec(dllimport) __stdcall EP_RegCheckAndSaveKey( char* Name, char* Key );
LPCTSTR __declspec(dllimport) __stdcall EP_RegHardwareID();
BOOL __declspec(dllimport) __stdcall EP_RegKeyCreationDate( WORD* Year, WORD* Month, WORD* Day );
BOOL __declspec(dllimport) __stdcall EP_RegKeyExpirationDate( WORD* Year, WORD* Month, WORD* Day );

BOOL __declspec(dllimport) __stdcall EP_TrialExecutions( DWORD* Total, DWORD* Left );
BOOL __declspec(dllimport) __stdcall EP_TrialDays( DWORD* Total, DWORD* Left );
BOOL __declspec(dllimport) __stdcall EP_TrialExpirationDate( WORD* Year, WORD* Month, WORD* Day );
BOOL __declspec(dllimport) __stdcall EP_TrialDateTillDate( WORD* StartYear, WORD* StartMonth, WORD* StartDay, WORD* EndYear, WORD* EndMonth, WORD* EndDay );
BOOL __declspec(dllimport) __stdcall EP_TrialExecutionTime( DWORD* Total, DWORD* Left );

int __declspec(dllimport) __stdcall EP_MiscGetWatermark( int ID, PWMContent WM );
int __declspec(dllimport) __stdcall EP_ProtectedStringByID( int Total, char* Left, int Len);
int __declspec(dllimport) __stdcall EP_ProtectedStringByKey( char* Key, char* Left, int Len);

}

