Subversion Repositories userdetect2

Rev

Rev 73 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 73 Rev 88
1
#ifndef _UD2_API_H_
1
#ifndef _UD2_API_H_
2
#define _UD2_API_H_
2
#define _UD2_API_H_
3
 
3
 
4
#include <windows.h>
4
#include <windows.h>
5
 
5
 
6
const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
6
const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
7
 
7
 
8
#include "ud2_guid.h"
8
#include "ud2_guid.h"
9
#include "ud2_status.h"
9
#include "ud2_status.h"
10
#include "ud2_utils.h"
10
#include "ud2_utils.h"
11
 
11
 
12
#ifdef BUILDING_DLL
12
#ifdef BUILDING_DLL
13
#define UD2_API extern "C" __cdecl __declspec(dllexport)
13
#define UD2_API extern "C" __cdecl __declspec(dllexport)
14
#else
14
#else
15
#define UD2_API extern "C" __cdecl __declspec(dllimport)
15
#define UD2_API extern "C" __cdecl __declspec(dllimport)
16
#endif
16
#endif
17
 
17
 
18
UD2_API GUID PluginIdentifier();
18
UD2_API GUID PluginIdentifier();
19
UD2_API UD2_STATUS PluginNameW(LPWSTR lpPluginName, DWORD cchSize, LANGID wLangID);
19
UD2_API UD2_STATUS PluginNameW(LPWSTR lpPluginName, DWORD cchSize, LANGID wLangID);
20
UD2_API UD2_STATUS PluginVersionW(LPWSTR lpPluginVersion, 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);
21
UD2_API UD2_STATUS PluginVendorW(LPWSTR lpPluginVendor, DWORD cchSize, LANGID wLangID);
22
UD2_API UD2_STATUS CheckLicense(LPVOID lpReserved);
22
UD2_API UD2_STATUS CheckLicense(LPVOID lpReserved);
23
UD2_API UD2_STATUS IdentificationMethodNameW(LPWSTR lpIdentificationMethodName, DWORD cchSize);
23
UD2_API UD2_STATUS IdentificationMethodNameW(LPWSTR lpIdentificationMethodName, DWORD cchSize);
24
UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, 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);
25
UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID);
26
 
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
 
27
const GUID GUID_USERDETECT2_IDPLUGIN_V1 = __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}");
35
const GUID GUID_USERDETECT2_IDPLUGIN_V1 = __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}");
28
#ifdef BUILDING_DLL
36
#ifdef BUILDING_DLL
29
UD2_API GUID PluginInterfaceID() {
37
UD2_API GUID PluginInterfaceID() {
30
        return GUID_USERDETECT2_IDPLUGIN_V1;   
38
        return GUID_USERDETECT2_IDPLUGIN_V1;   
31
}
39
}
32
#else
40
#else
33
UD2_API GUID PluginInterfaceID();
41
UD2_API GUID PluginInterfaceID();
34
#endif
42
#endif
35
 
43
 
36
#endif
44
#endif
37
 
45