Subversion Repositories userdetect2

Rev

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

Rev Author Line No. Line
73 daniel-mar 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
 
88 daniel-mar 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
 
73 daniel-mar 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