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 |