Subversion Repositories userdetect2

Rev

Rev 73 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #ifndef _UD2_API_H_
  2. #define _UD2_API_H_
  3.  
  4. #include <windows.h>
  5.  
  6. const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
  7.  
  8. #include "ud2_guid.h"
  9. #include "ud2_status.h"
  10. #include "ud2_utils.h"
  11.  
  12. #ifdef BUILDING_DLL
  13. #define UD2_API extern "C" __cdecl __declspec(dllexport)
  14. #else
  15. #define UD2_API extern "C" __cdecl __declspec(dllimport)
  16. #endif
  17.  
  18. UD2_API GUID PluginIdentifier();
  19. UD2_API UD2_STATUS PluginNameW(LPWSTR lpPluginName, DWORD cchSize, LANGID wLangID);
  20. UD2_API UD2_STATUS PluginVersionW(LPWSTR lpPluginVersion, DWORD cchSize, LANGID wLangID);
  21. UD2_API UD2_STATUS PluginVendorW(LPWSTR lpPluginVendor, DWORD cchSize, LANGID wLangID);
  22. UD2_API UD2_STATUS CheckLicense(LPVOID lpReserved);
  23. UD2_API UD2_STATUS IdentificationMethodNameW(LPWSTR lpIdentificationMethodName, DWORD cchSize);
  24. UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize);
  25. UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID);
  26.  
  27. #ifdef UD2_DYNAMIC_PLUGIN
  28. // Extension of the plugin API starting with version v2.2.
  29. // We don't assign a new PluginIdentifier GUID since the methods of the old API
  30. // are still valid, so an UserDetect2 v2.0/v2.1 plugin can be still used with UserDetect2 v2.2.
  31. // Therefore, this function *MUST* be optional and therefore it may only be imported dynamically.
  32. UD2_API UD2_STATUS DynamicIdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize, LPWSTR lpDynamicData);
  33. #endif
  34.  
  35. const GUID GUID_USERDETECT2_IDPLUGIN_V1 = __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}");
  36. #ifdef BUILDING_DLL
  37. UD2_API GUID PluginInterfaceID() {
  38.         return GUID_USERDETECT2_IDPLUGIN_V1;   
  39. }
  40. #else
  41. UD2_API GUID PluginInterfaceID();
  42. #endif
  43.  
  44. #endif
  45.