Subversion Repositories delphiutils

Compare Revisions

Regard whitespace Rev 69 → Rev 70

/trunk/UserDetect2/UD2_Main.pas
10,9 → 10,9
// TODO: geticon funktion in ud2_obj.pas?
// TODO (idee): ein plugin kann mehrere methodnames haben?
// TODO: möglichkeit, Task Definition File neu zu laden, nach änderungen die man durchgeführt hat
// TODO: möglichkeit, plugins neu zu laden
// TODO (idee): lahme DLLs abschießen beim start (per GUI)
// TODO: splash screen wegen DLL load
// TODO: nt4 compat
// TODO: splash screen wegen ggf. langer DLL load zeit
 
interface
 
20,6 → 20,8
{$LEGACYIFEND ON}
{$IFEND}
 
{$INCLUDE 'UserDetect2.inc'}
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ValEdit, UD2_Obj, ComCtrls, ImgList, ExtCtrls,
344,7 → 346,9
SubItems.Add(pl.PluginName);
SubItems.Add(pl.PluginVersion);
SubItems.Add(pl.IdentificationMethodName);
SubItems.Add(IntToStr(pl.DetectedIdentifications.Count));
SubItems.Add(Format(LNG_MS, [Max(1,pl.time)])); // at least show 1ms, otherwise it would be unloggical
SubItems.Add(pl.IdentificationProcedureStatusCodeDescribed);
SubItems.Add(pl.PluginGUIDString);
end;
end;
/trunk/UserDetect2/Plugins/GatewayMAC.dpr
23,15 → 23,33
sl, sl2: TStringList;
i: integer;
ip, mac: string;
ec: DWORD;
begin
sl := TStringList.Create;
sl2 := TStringList.Create;
try
GetGatewayIPAddressList(sl);
ec := GetGatewayIPAddressList(sl);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
 
for i := 0 to sl.Count-1 do
begin
ip := sl.Strings[i];
if (GetMACAddress(ip, mac) = S_OK) and
ec := GetMACAddress(ip, mac);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if (ec = S_OK) and
(mac <> '') and
(sl2.IndexOf(mac) = -1) then
begin
81,6 → 99,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
89,6 → 113,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/DHCP_MAC.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/ComputerName.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/LAN_IP.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/LAN_MAC.dpr
23,12 → 23,19
sl, sl2: TStringList;
i: integer;
ip, mac: string;
ec: DWORD;
begin
sl := TStringList.Create;
sl2 := TStringList.Create;
try
if GetLocalMACAddressList(sl2) <> NO_ERROR then
ec := GetLocalMACAddressList(sl2);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
38,7 → 45,13
for i := 0 to sl.Count-1 do
begin
ip := sl.Strings[i];
if (GetMACAddress(ip, mac) = S_OK) and
ec := GetMACAddress(ip, mac);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if (ec = S_OK) and
(mac <> '') and
(sl2.IndexOf(mac) = -1) then
begin
88,6 → 101,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
96,6 → 115,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/GatewayIP.dpr
21,10 → 21,21
function IdentificationStringW(lpIdentifier: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl;
var
sl: TStringList;
ec: DWORD;
begin
sl := TStringList.Create;
try
GetGatewayIPAddressList(sl);
ec := GetGatewayIPAddressList(sl);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
finally
sl.Free;
67,6 → 78,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
75,6 → 92,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/DHCP_IP.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/DHCP_MAC.dpr
23,15 → 23,33
sl, sl2: TStringList;
i: integer;
ip, mac: string;
ec: DWORD;
begin
sl := TStringList.Create;
sl2 := TStringList.Create;
try
GetDHCPIPAddressList(sl);
ec := GetDHCPIPAddressList(sl);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
 
for i := 0 to sl.Count-1 do
begin
ip := sl.Strings[i];
if (GetMACAddress(ip, mac) = S_OK) and
ec := GetMACAddress(ip, mac);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if (ec = S_OK) and
(mac <> '') and
(sl2.IndexOf(mac) = -1) then
begin
81,6 → 99,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
89,6 → 113,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/ComputerName.dpr
74,6 → 74,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
82,6 → 88,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/LAN_IP.dpr
21,10 → 21,21
function IdentificationStringW(lpIdentifier: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl;
var
sl: TStringList;
ec: DWORD;
begin
sl := TStringList.Create;
try
GetLocalIPAddressList(sl);
ec := GetLocalIPAddressList(sl);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
finally
sl.Free;
67,6 → 78,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
75,6 → 92,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/UserSID.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/DHCP_IP.dpr
21,10 → 21,21
function IdentificationStringW(lpIdentifier: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl;
var
sl: TStringList;
ec: DWORD;
begin
sl := TStringList.Create;
try
GetDHCPIPAddressList(sl);
ec := GetDHCPIPAddressList(sl);
if ec = ERROR_NOT_SUPPORTED then
begin
result := UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED;
Exit;
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
finally
sl.Free;
67,6 → 78,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
75,6 → 92,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/ExecuteAlways.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/UserSID.dpr
62,6 → 62,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
70,6 → 76,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/ExecuteAlways.dpr
61,6 → 61,12
result := UD2_STATUS_OK_LICENSED;
end;
 
function DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
begin
// This function does not use non-generic status codes
result := FALSE;
end;
 
exports
PluginInterfaceID name mnPluginInterfaceID,
PluginIdentifier name mnPluginIdentifier,
69,6 → 75,7
PluginVersionW name mnPluginVersionW,
IdentificationMethodNameW name mnIdentificationMethodNameW,
IdentificationStringW name mnIdentificationStringW,
CheckLicense name mnCheckLicense;
CheckLicense name mnCheckLicense,
DescribeOwnStatusCodeW name mnDescribeOwnStatusCodeW;
 
end.
/trunk/UserDetect2/Plugins/NetworkUtils.pas
29,11 → 29,12
BufLen: Cardinal;
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
GetAdaptersInfo(nil, @BufLen);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
if not Result = ERROR_SUCCESS then Exit;
if Result <> ERROR_SUCCESS then Exit;
while pAdapterInfo <> nil do
begin
addrStr := pAdapterInfo^.IpAddressList;
59,11 → 60,12
BufLen: Cardinal;
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
GetAdaptersInfo(nil, @BufLen);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
if not Result = ERROR_SUCCESS then Exit;
if Result <> ERROR_SUCCESS then Exit;
while pAdapterInfo <> nil do
begin
addrStr := pAdapterInfo^.DhcpServer;
89,11 → 91,12
BufLen: Cardinal;
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
GetAdaptersInfo(nil, @BufLen);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
if not Result = ERROR_SUCCESS then Exit;
if Result <> ERROR_SUCCESS then Exit;
while pAdapterInfo <> nil do
begin
addrStr := pAdapterInfo^.GatewayList;
/trunk/UserDetect2/Plugins/GatewayMAC.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/LAN_MAC.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/GatewayIP.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/devcpp_plugins/libExamplePlugin.def
1,9 → 1,10
EXPORTS
CheckLicense @1
IdentificationMethodNameW @2
IdentificationStringW @3
PluginIdentifier @4
PluginInterfaceID @5
PluginNameW @6
PluginVendorW @7
PluginVersionW @8
DescribeOwnStatusCodeW @2
IdentificationMethodNameW @3
IdentificationStringW @4
PluginIdentifier @5
PluginInterfaceID @6
PluginNameW @7
PluginVendorW @8
PluginVersionW @9
/trunk/UserDetect2/devcpp_plugins/ud2_utils.h
44,7 → 44,7
char b[3]; b[2] = 0;
memcpy(&b[0], szGUID+20, 2*sizeof(b[0])); g->Data4[0] = strtol(&b[0], &pEnd, 16);
memcpy(&b[0], szGUID+22, 2*sizeof(b[0])); g->Data4[1] = strtol(&b[0], &pEnd, 16);
for (int i=0; i<8; ++i) {
for (int i=0; i<6; ++i) {
memcpy(&b[0], szGUID+25+i*2, 2*sizeof(b[0])); g->Data4[2+i] = strtol(&b[0], &pEnd, 16);
}
return true;
/trunk/UserDetect2/devcpp_plugins/ExamplePlugin.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/devcpp_plugins/ExamplePlugin.layout
1,23 → 1,23
[Editor_0]
CursorCol=2
CursorRow=34
CursorCol=51
CursorRow=11
TopLine=1
LeftChar=1
[Editor_1]
CursorCol=52
CursorRow=23
TopLine=10
CursorCol=40
CursorRow=11
TopLine=1
LeftChar=1
[Editors]
Order=0,1,2,3
Focused=3
Focused=0
[Editor_2]
CursorCol=14
CursorRow=50
TopLine=36
CursorCol=1
CursorRow=9
TopLine=1
LeftChar=1
[Editor_3]
CursorCol=2
CursorRow=55
TopLine=47
CursorCol=30
CursorRow=11
TopLine=43
LeftChar=1
/trunk/UserDetect2/devcpp_plugins/ud2_api.h
3,13 → 3,13
 
#include <windows.h>
 
const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
 
#include "ud2_status.h"
#include "ud2_utils.h"
 
#define GUID_USERDETECT2_IDPLUGIN_V1 __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}")
 
const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
 
#ifdef BUILDING_DLL
#define UD2_API extern "C" __cdecl __declspec(dllexport)
#else
23,6 → 23,7
UD2_API UD2_STATUS CheckLicense(LPVOID lpReserved);
UD2_API UD2_STATUS IdentificationMethodNameW(LPWSTR lpIdentificationMethodName, DWORD cchSize);
UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize);
UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID);
 
#ifdef BUILDING_DLL
UD2_API GUID PluginInterfaceID() {
/trunk/UserDetect2/devcpp_plugins/ExamplePlugin.cpp
32,3 → 32,8
UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize) {
return UD2_WriteStrW(lpIdentifier, cchSize, L"Example");
}
 
UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID) {
// This function does not use non-generic status codes
return FALSE;
}
/trunk/UserDetect2/vcl/ViaThinkSoft.dpk
34,6 → 34,7
 
contains
VTSListView in 'VTSListView.pas',
AlphaNumSort in 'AlphaNumSort.pas',
VTSCompat in 'VTSCompat.pas',
PatchU in 'PatchU.pas';
 
/trunk/UserDetect2/UD2_Utils.pas
6,6 → 6,8
{$LEGACYIFEND ON}
{$IFEND}
 
{$INCLUDE 'UserDetect2.inc'}
 
uses
Windows, SysUtils, Dialogs, ShellAPI;
 
255,11 → 257,16
ZeroMemory(@sei, SizeOf(sei));
sei.cbSize := SizeOf(sei);
sei.lpFile := PChar(cmdFile);
{$IFNDEF PREFER_SHELLEXECUTEEX_MESSAGES}
sei.fMask := SEE_MASK_FLAG_NO_UI;
{$ENDIF}
if cmdArgs <> '' then sei.lpParameters := PChar(cmdArgs);
if cmdDir <> '' then sei.lpDirectory := PChar(cmdDir);
sei.nShow := WindowMode;
if ShellExecuteEx(@sei) then Exit;
{$IFNDEF PREFER_SHELLEXECUTEEX_MESSAGES}
CheckLastOSCall(false);
{$ENDIF}
end;
 
function GetHTML(AUrl: string): string;
/trunk/UserDetect2/Compat.txt
1,4 → 1,9
 
DHCP_* plugin: Not compatible with Windows NT4 SP6
Gateway* plugin: Not compatible with Windows NT4 SP6
LAN_IP plugin: Not compatible with Windows NT4 SP6
- - - - - - - - - - - - - -
ViaThinkSoft UserDetect2
Compatibility Issues
- - - - - - - - - - - - - -
 
Windows NT4 SP6
Plugins: DHCP_*, Gateway*, LAN_IP
not compatible because of GetAdaptersInfo() is not supported.
/trunk/UserDetect2/UserDetect2.inc
0,0 → 1,3
{$DEFINE PREFER_SHELLEXECUTEEX_MESSAGES}
 
{$DEFINE CHECK_FOR_SAME_PLUGIN_GUID}
/trunk/UserDetect2/UD2_Main.dfm
164,10 → 164,16
Width = 100
end
item
Caption = 'Detected IDs'
end
item
Caption = 'Load time'
end
item
Caption = 'GUID'
Caption = 'Identification Status'
end
item
Caption = 'GUID of Plugin'
Width = 100
end>
ReadOnly = True
/trunk/UserDetect2/Documentation.rtf
4,15 → 4,15
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f375\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f376\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f378\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f379\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f380\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f381\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f382\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f383\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f395\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f396\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
{\f398\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f399\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f400\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f401\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
{\f402\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f403\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f715\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f716\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f718\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f719\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f722\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f723\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\f735\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\f736\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\f738\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\f739\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}
{\f742\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\f743\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\f745\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f746\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\f748\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f749\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f752\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f753\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\f399\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\f400\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\f402\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\f403\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}
{\f406\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\f407\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\f409\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f410\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\f412\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f413\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f416\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f417\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
136,16 → 136,16
\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\lin6480 }{\listname ;}\listid2130318317}}{\*\listoverridetable{\listoverride\listid2130318317\listoverridecount0\ls1}{\listoverride\listid601692740
\listoverridecount0\ls2}{\listoverride\listid1468545555\listoverridecount0\ls3}{\listoverride\listid1377975272\listoverridecount0\ls4}{\listoverride\listid846022938\listoverridecount0\ls5}{\listoverride\listid1730224345\listoverridecount0\ls6}
{\listoverride\listid2091078015\listoverridecount0\ls7}{\listoverride\listid1281301155\listoverridecount0\ls8}{\listoverride\listid1772311604\listoverridecount0\ls9}{\listoverride\listid1652171673\listoverridecount0\ls10}}{\*\pgptbl {\pgp\ipgp0\itap0\li0
\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid150970\rsid156011\rsid203795\rsid206584\rsid288678\rsid460155\rsid538759\rsid668536\rsid674965\rsid938415\rsid1340899\rsid1657439\rsid1929326\rsid2576803
\rsid2753010\rsid2884605\rsid3022222\rsid3025658\rsid3028086\rsid3163531\rsid3285525\rsid3569955\rsid3635325\rsid3895034\rsid3943969\rsid3998625\rsid4476179\rsid4656946\rsid4871690\rsid5064448\rsid5114084\rsid5178738\rsid5325168\rsid5733712\rsid5907818
\rsid6372815\rsid6442210\rsid6707673\rsid6709676\rsid6776079\rsid6896162\rsid7105396\rsid7146872\rsid7495966\rsid7814608\rsid8269150\rsid8799422\rsid9121458\rsid9180311\rsid9257259\rsid9258736\rsid9307250\rsid9318354\rsid9373535\rsid9388365\rsid9596859
\rsid9704937\rsid9711883\rsid10516537\rsid10644118\rsid10829644\rsid11096861\rsid11404612\rsid11426136\rsid11541424\rsid11930278\rsid12134973\rsid12146773\rsid12258161\rsid12390765\rsid12666715\rsid12719322\rsid12853255\rsid13119319\rsid13328561
\rsid13381599\rsid13852431\rsid13966640\rsid13978329\rsid14159743\rsid14251116\rsid14488370\rsid14512558\rsid14576865\rsid14754795\rsid15078789\rsid15082545\rsid15082913\rsid15095912\rsid15153839\rsid15484970\rsid15888011\rsid15940546\rsid16212651
\rsid16262044\rsid16282930\rsid16384757\rsid16387594\rsid16413704}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Daniel Marschall}
{\creatim\yr2015\mo9\dy22\hr19\min3}{\revtim\yr2015\mo9\dy30\hr5\min42}{\version86}{\edmins0}{\nofpages12}{\nofwords2985}{\nofchars18812}{\nofcharsws21754}{\vern57439}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}{\pgp\ipgp0\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid150970\rsid156011\rsid203795\rsid206584\rsid288678\rsid460155\rsid538759\rsid668536\rsid674965\rsid938415\rsid1340899\rsid1599487\rsid1657439\rsid1929326
\rsid2576803\rsid2753010\rsid2884605\rsid3022222\rsid3025658\rsid3028086\rsid3163531\rsid3285525\rsid3569955\rsid3635325\rsid3895034\rsid3943969\rsid3998625\rsid4476179\rsid4656946\rsid4871690\rsid5064448\rsid5114084\rsid5178738\rsid5325168\rsid5733712
\rsid5793177\rsid5907818\rsid6372815\rsid6442210\rsid6707673\rsid6709676\rsid6776079\rsid6896162\rsid7105396\rsid7146872\rsid7495966\rsid7814608\rsid8086032\rsid8269150\rsid8799422\rsid9121458\rsid9180311\rsid9257259\rsid9258736\rsid9307250\rsid9318354
\rsid9373535\rsid9388365\rsid9596859\rsid9704937\rsid9711883\rsid9838644\rsid10516537\rsid10644118\rsid10766123\rsid10829644\rsid11096861\rsid11404612\rsid11426136\rsid11541424\rsid11930278\rsid12134973\rsid12146773\rsid12258161\rsid12390765\rsid12666715
\rsid12719322\rsid12853255\rsid13119319\rsid13328561\rsid13381599\rsid13506709\rsid13852431\rsid13966640\rsid13978329\rsid14159743\rsid14251116\rsid14488370\rsid14512558\rsid14576865\rsid14754795\rsid15078789\rsid15082545\rsid15082913\rsid15095912
\rsid15153839\rsid15484970\rsid15888011\rsid15940546\rsid16212651\rsid16262044\rsid16282930\rsid16384757\rsid16387594\rsid16410202\rsid16413704}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440
\mintLim0\mnaryLim1}{\info{\operator Daniel Marschall}{\creatim\yr2015\mo9\dy22\hr19\min3}{\revtim\yr2015\mo10\dy2\hr5\min16}{\version92}{\edmins0}{\nofpages13}{\nofwords3114}{\nofchars19622}{\nofcharsws22691}{\vern57439}}{\*\xmlnstbl {\xmlns1 http://sche
mas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1417\margr1417\margt1417\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale150\rsidroot9121458 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot9121458 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\s18\qc \li0\ri0\sb240\sa60\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid5325168 \rtlch\fcs1
153,8 → 153,8
\hich\af31502\dbch\af31501\loch\f31502 ViaThinkSoft UserDetect2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \fs40\lang1033\langfe1031\langnp1033\insrsid5325168
\par }\pard\plain \ltrpar\qr \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12134973 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Daniel Marschall
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af31506\dbch\af31505\loch\f31506 30}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 September 2015}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10766123 \hich\af31506\dbch\af31505\loch\f31506 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 October }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 2015}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid4871690 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31502\dbch\af31501\loch\f31502 What is UserDetect2?
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9307250 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
219,12 → 219,13
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31502\dbch\af31501\loch\f31502 usage}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15484970 \hich\af31506\dbch\af31505\loch\f31506 Syntax:\tab \tab }{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af2\dbch\af31505\loch\f2 UD2.exe [}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af2\dbch\af31505\loch\f2 TaskDefinitionFile}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af2\dbch\af31505\loch\f2 [TaskName]]}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15484970
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af2\dbch\af31505\loch\f2 UD2.exe [}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af2\dbch\af31505\loch\f2 TaskDefinitionFi
\hich\af2\dbch\af31505\loch\f2 le}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af2\dbch\af31505\loch\f2 [TaskName]]}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15484970
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16387594 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid16387594\charrsid9388365
\hich\af31506\dbch\af31505\loch\f31506 Examples:
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\hich\af2\dbch\af31505\loch\f2 UD2.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 without parame\hich\af31506\dbch\af31505\loch\f31506 ters
\hich\af2\dbch\af31505\loch\f2 UD2.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 without parameters
\par }\pard \ltrpar\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid16387594 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715
\hich\af31506\dbch\af31505\loch\f31506 The GUI of UserDetect2 will be used.
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
236,7 → 237,7
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\hich\af2\dbch\af31505\loch\f2 UD2.exe Foo.ini ExampleTask1
\par }\pard \ltrpar\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid16387594 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715
\hich\af31506\dbch\af31505\loch\f31506 The GUI will not be used. Instead, the task Exam\hich\af31506\dbch\af31505\loch\f31506 pleTask1 of the Task}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af31506\dbch\af31505\loch\f31506 T\hich\af31506\dbch\af31505\loch\f31506 he GUI will not be used. Instead, the task ExampleTask1 of the Task}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af31506\dbch\af31505\loch\f31506 Definition }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 File Foo.ini will be called immediately.
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid12666715 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14159743 \hich\af31502\dbch\af31501\loch\f31502 Task Definition File (}{
256,7 → 257,7
\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 etect}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid938415 \hich\af31506\dbch\af31505\loch\f31506 2}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 .ini}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 or <ApplicationName>.ini file is }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 existing, and no command line argument is used, the GUI will ask the user for the path of the }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 .
\lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Task Definition F\hich\af31506\dbch\af31505\loch\f31506 ile}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 .
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11426136 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506
Her}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11426136 \hich\af31506\dbch\af31505\loch\f31506 e is an example of a }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af31506\dbch\af31505\loch\f31506 Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11426136 \hich\af31506\dbch\af31505\loch\f31506 :}{\rtlch\fcs1 \af0 \ltrch\fcs0
263,7 → 264,7
\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid11426136
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912
\hich\af2\dbch\af31505\loch\f2 [ExampleTask1]
\par \hich\af2\dbch\af31505\loch\f2 Descript\hich\af2\dbch\af31505\loch\f2 ion=Run Task #1
\par \hich\af2\dbch\af31505\loch\f2 Description=Run Task #1
\par \hich\af2\dbch\af31505\loch\f2 Icon=%SystemRoot%\\system32\\Shell32.dll,3
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af2\dbch\af31505\loch\f2 CloseAfterLaunching}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912
\hich\af2\dbch\af31505\loch\f2 =true
276,8 → 277,8
\par
\par \hich\af2\dbch\af31505\loch\f2 [ExampleTask2}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912 \hich\af2\dbch\af31505\loch\f2 ]
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af2\dbch\af31505\loch\f2 Description=Run Task #2}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af2\dbch\af31505\loch\f2 ComputerName\hich\af2\dbch\af31505\loch\f2 :}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid7495966
\hich\af2\dbch\af31505\loch\f2 JohnLaptop}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912 \hich\af2\dbch\af31505\loch\f2 =calc.exe
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af2\dbch\af31505\loch\f2 ComputerName:}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid7495966 \hich\af2\dbch\af31505\loch\f2 JohnLaptop}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912 \hich\af2\dbch\af31505\loch\f2 =calc.exe
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 LAN_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af2\dbch\af31505\loch\f2 MAC:11-22-33-44-55-}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid7495966 \hich\af2\dbch\af31505\loch\f2 66}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af2\dbch\af31505\loch\f2 =notepad}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid15095912 \hich\af2\dbch\af31505\loch\f2 .exe
298,21 → 299,20
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506
Each section starts with a name in square brackets, e.g. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid14251116 \hich\af2\dbch\af31505\loch\f2 [ExampleTask1]}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 . There can be multiple sections. Each section defines a task.
Each section starts with a name in square brackets,\hich\af31506\dbch\af31505\loch\f31506 e.g. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid14251116 \hich\af2\dbch\af31505\loch\f2 [ExampleTask1]}{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 . There can be multiple sections. Each section defines a task.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3895034 \hich\af31506\dbch\af31505\loch\f31506 Field }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid3895034
\hich\af2\dbch\af31505\loch\f2 Description
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 The description is an optiona\hich\af31506\dbch\af31505\loch\f31506
l field, but is highly recommended. In the GUI, it will be shown as name for the task.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 The description is an optional field, but is highly recommended. In the GUI, it will be shown as name for the task.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3895034 \hich\af31506\dbch\af31505\loch\f31506 Field }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid3895034
\hich\af2\dbch\af31505\loch\f2 Icon
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 This is an optional field, to replace the icon of the task with a different icon. The syntax is:
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 Icon: <IconDLL>,<IconIndex>
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 For example, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\hich\af2\dbch\af31505\loch\f2 Icon=%SystemRoot%\\sy\hich\af2\dbch\af31505\loch\f2 stem32\\Shell32.dll,3
\hich\af2\dbch\af31505\loch\f2 Icon=%SystemRoot%\\system32\\Shell32.dll,3
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 Will use Icon #3 of the file Shell32.dll (environment variables like }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 %SystemRoot%}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506
are resolved).
\f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 %SystemR\hich\af2\dbch\af31505\loch\f2 oot%}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\hich\af31506\dbch\af31505\loch\f31506 are resolved).
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3895034 \hich\af31506\dbch\af31505\loch\f31506 Field }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531
\hich\af2\dbch\af31505\loch\f2 CloseAfterLaunching}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid3895034
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 This is an o}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255
328,30 → 328,31
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 The default value is }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 false}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 .}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12666715
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 Field }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531
\hich\af2\dbch\af31505\loch\f2 WarnIfNothingMatches}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 F\hich\af31506\dbch\af31505\loch\f31506 ield }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af2\dbch\af31505\loch\f2 WarnIfNothingMatches}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 This is an optional field.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 If the value is }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 true}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 (or }{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 yes}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 , or }{\rtlch\fcs1
\af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 ), then a}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 warning dia\hich\af31506\dbch\af31505\loch\f31506
log will be shown if a task is called, but no application could be started, because no identification matches the current environment, or if no identification fields are added in the current task.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 Otherwise, y}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 ou can write }{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 false}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 (or
}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 no}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 , or
}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 0}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 , or }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 remove the
\hich\af31506\dbch\af31505\loch\f31506 field}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255
\hich\af31506\dbch\af31505\loch\f31506 The default value is }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 false}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531 \hich\af31506\dbch\af31505\loch\f31506
warning dialog will be shown if a task is called, but no application could be started, because no identification matches the current environment,\hich\af31506\dbch\af31505\loch\f31506 or if no identification fields are added in the current task.}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 Otherwise, y}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155
\hich\af31506\dbch\af31505\loch\f31506 ou can write }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 false}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 (or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 no}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 , or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 0}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 , or }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 remove the field}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155 .}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 The default value is }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid12853255 \hich\af2\dbch\af31505\loch\f2 false}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255\charrsid460155
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid16413704 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3895034 \hich\af31502\dbch\af31501\loch\f31502 Identification fields}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506
Identification fields are located in the Task section, too. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 Each identification }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 field}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 has following syntax:
Identification fields are located in the Task section, too. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 Each identificat\hich\af31506\dbch\af31505\loch\f31506 ion }{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 field}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \hich\af31506\dbch\af31505\loch\f31506 has following syntax:
 
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155
\hich\af2\dbch\af31505\loch\f2 <}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid2884605\charrsid2884605 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodName}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid2884605\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12666715\charrsid460155 \hich\af2\dbch\af31505\loch\f2
367,43 → 368,42
\hich\af31506\dbch\af31505\loch\f31506 dentification method n}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid2884605\charrsid2884605 \hich\af31506\dbch\af31505\loch\f31506 ame}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid2884605\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715 \loch\af31506\dbch\af31505\hich\f31506 \'93\loch\f31506 \hich\f31506
ComputerName\'94\loch\f31506 will }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 returns}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12666715
\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 the identification \'93\loch\f31506 \hich\f31506 John\'94\loch\f31506 \hich\f31506 , then the program \'93\loch\f31506 \hich\f31506 calc.exe\'94\loch\f31506 will be started.}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16387594\charrsid16387594
\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 the identification \'93\loch\f31506 \hich\f31506 John\'94\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 , then the program \'93\loch\f31506 \hich\f31506 calc.exe\'94\loch\f31506 will be started.}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16387594\charrsid16387594
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16387594 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506
The short name of the plugins, as well as the identification strings can be seen in the GUI in \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 the \'93\loch\f31506 \hich\f31506 Identifications\'94\loch\f31506
tab. The GUI can also create a Task Definition File (INI file) template for you.
\hich\f31506 The short name of the plugins, as well as the identification strings can be seen in the GUI in the \'93\loch\f31506 \hich\f31506 Identifications\'94\loch\f31506 tab. The GUI can also create a Task Definition File (INI file) template for you.
 
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3163531 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506
Alternatively to the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9388365 \hich\af2\dbch\af31505\loch\f2 MethodName}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161
\hich\af31506\dbch\af31505\loch\f31506 , you can use the GUID of the plugin. The syntax is }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid16282930 \{\hich\af2\dbch\af31505\loch\f2
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 .
Alternative\hich\af31506\dbch\af31505\loch\f31506 ly to the }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9388365 \hich\af2\dbch\af31505\loch\f2 MethodName}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 , you can use the GUID of the plugin. The syntax is }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid16282930 \{
\hich\af2\dbch\af31505\loch\f2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 .
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 Attention:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \b\f2\fs22\lang1033\langfe1031\langnp1033\insrsid2884605 \hich\af2\dbch\af31505\loch\f2 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \b\f2\fs22\lang1033\langfe1031\langnp1033\insrsid2884605 \hich\af2\dbch\af31505\loch\f2 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls8\adjustright\rin0\lin720\itap0\pararsid3028086 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid2884605 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodName}{\rtlch\fcs1 \af0
\ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 and }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12853255 \hich\af2\dbch\af31505\loch\f2
IdentificationString}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 are case sensitive! If you use a GUID instead of }{\rtlch\fcs1 \af2 \ltrch\fcs0
\b\f2\lang1033\langfe1031\langnp1033\insrsid2884605 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodName}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506
, either all digits have to be uppercase, or all digits have to be lowercase, but not mixed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161
\b\f2\lang1033\langfe1031\langnp1033\insrsid2884605 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodName}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 , eith
\hich\af31506\dbch\af31505\loch\f31506 er all digits have to be uppercase, or all digits have to be lowercase, but not mixed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid12258161
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \b\f31506\fs22\lang1033\langfe1031\langnp1033\insrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 2.\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365
\hich\af31506\dbch\af31505\loch\f31506 Although it is recommended }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 to name the DLL file equally to the }{\rtlch\fcs1
\af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 i\hich\af31506\dbch\af31505\loch\f31506 dentification method n\hich\af31506\dbch\af31505\loch\f31506 ame}{\rtlch\fcs1 \af0
\ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 , there is no guarantee th\hich\af31506\dbch\af31505\loch\f31506 at they match. \hich\af31506\dbch\af31505\loch\f31506 Only the }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 i\hich\af31506\dbch\af31505\loch\f31506 dentification method n\hich\af31506\dbch\af31505\loch\f31506 ame
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 will be used, not the name of the DLL file!
\af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 identification method name}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365\charrsid3028086
\hich\af31506\dbch\af31505\loch\f31506 , there is no guarantee that they match. Only the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 identification method name }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9388365\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 will be used, not the name of the DLL file!
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3163531 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid14512558\charrsid9388365
\hich\af31506\dbch\af31505\loch\f31506 Notes about the command}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid12258161\charrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 launching}{\rtlch\fcs1 \af0 \ltrch\fcs0
\i\lang1033\langfe1031\langnp1033\insrsid14512558\charrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 :
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid12258161 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0\pararsid12258161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506 I\hich\af31506\dbch\af31505\loch\f31506
f multiple identifications are matching (even if the program is the same), the programs will be called anyway.
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0\pararsid12258161 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12258161 \hich\af31506\dbch\af31505\loch\f31506
If multiple identifications are matching (even if the program is the same), the programs will be called anyway.
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid3163531 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls6\adjustright\rin0\lin720\itap0\pararsid14512558 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 E}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 nvironment variables like }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3163531\charrsid6372815 \hich\af2\dbch\af31505\loch\f2
%SystemRoot%}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531\charrsid460155 \hich\af31506\dbch\af31505\loch\f31506 are resolved}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531 .
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid14512558 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558
\hich\af31506\dbch\af31505\loch\f31506 Relative paths are allowed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558\charrsid14512558
\hich\af31506\dbch\af31505\loch\f31506 Relat\hich\af31506\dbch\af31505\loch\f31506 ive paths are allowed.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558\charrsid14512558
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid14512558 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558
\hich\af31506\dbch\af31505\loch\f31506 A path }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 with white spaces (e.g. "C:\\Program Files\\xyz.exe"
\hich\af31506\dbch\af31505\loch\f31506 ) must be enclosed in quotes.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531
\hich\af31506\dbch\af31505\loch\f31506 A path }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531\charrsid3163531 \hich\af31506\dbch\af31505\loch\f31506 with white spaces (e.g. "C:\\Program Files\\
xyz.exe") must be enclosed in quotes.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3163531
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid14754795 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14754795
\hich\af31506\dbch\af31505\loch\f31506 Also non-executable files, like Word-Documents}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558 ,}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14754795
\hich\af31506\dbch\af31505\loch\f31506 can be executed.
413,25 → 413,25
\loch\f31502 compatibility prefix
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16413704 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558 \hich\af31506\dbch\af31505\loch\f31506
Some applications or batch files require that they are called in their own directory}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 (this is technically a bug),
\hich\af31506\dbch\af31505\loch\f31506 and will fail if the working directory is different. In this case, you can use following special syntax:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558
Some applications or batch files require that they are called in their own directory}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506
(this is technically a bug), and will fail if the working directory is different. In this case, you can use following special syntax:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid14512558
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 LAN_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2
MAC:11-22-33-44-55-66=}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 $RIO}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704
\hich\af2\dbch\af31505\loch\f2 D$}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 test\\example.bat
\hich\af2\dbch\af31505\loch\f2 D$}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 test\\\hich\af2\dbch\af31505\loch\f2 example.bat
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 The prefix }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 $RIO}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 D$}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af31506\dbch\af31505\loch\f31506
\hich\f31506 stands for \'93\loch\f31506 Run-i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 n-}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1340899
\hich\af31506\dbch\af31505\loch\f31506 o\hich\af31506\dbch\af31505\loch\f31506 wn\hich\af31506\dbch\af31505\loch\f31506 -d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
irectory\'94\loch\f31506 . In this case, the working directory of example.bat w\hich\af31506\dbch\af31505\loch\f31506 ill be test\\ , instead of the directory where UserDetect2.exe was started from.
\hich\af31506\dbch\af31505\loch\f31506 own-d}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 irectory\'94\loch\f31506
. In this case, the working directory of example.bat will be test\\ , instead of the directory where UserDetect2.exe was started from.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid12853255\charrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 Note:
\par }\pard \ltrpar\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid12853255 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704
\hich\af31506\dbch\af31505\loch\f31506 If your application or batch file is intolerant to different working directories, please consider following}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12853255
\hich\af31506\dbch\af31505\loch\f31506 to solve this bug \hich\f31506 \endash \loch\f31506 i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15484970 \hich\af31506\dbch\af31505\loch\f31506 t would be in your interest}{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 :
\hich\af31506\dbch\af31505\loch\f31506 If your application or batch file is intolerant to di\hich\af31506\dbch\af31505\loch\f31506 fferent working directories, please consider following}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12853255 \hich\af31506\dbch\af31505\loch\f31506 to solve this bug \hich\f31506 \endash \loch\f31506 i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15484970
\hich\af31506\dbch\af31505\loch\f31506 t would be in your interest}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 :
\par \hich\af31506\dbch\af31505\loch\f31506 In Batch files (*.bat), use }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 %~dp0}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 to receive the directory name where the script is located in (including trailing path delimiter).
\par \hich\af31506\dbch\af31505\loch\f31506 In Delphi projects, use }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)))}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 to receive this path. You may want to pas\hich\af31506\dbch\af31505\loch\f31506 s this path into }{\rtlch\fcs1 \af2 \ltrch\fcs0
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 \hich\af31506\dbch\af31505\loch\f31506 to receive this path. You may want to pass this path into }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid16413704\charrsid16413704 \hich\af2\dbch\af31505\loch\f2 SetCurrentDir()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16413704 .
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid15940546 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af31502\dbch\af31501\loch\f31502 Concatenations
438,7 → 438,8
\par }\pard\plain \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12666715 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af31506\dbch\af31505\loch\f31506 Multiple identification }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 criteria}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
can be merged with an \'93\loch\f31506 \hich\f31506 AND\'94\loch\f31506 \hich\f31506 condition. This is done with the expression \'93\loch\f31506 \hich\f31506 &&\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6896162 .
can be merged with an \'93\loch\f31506 \hich\f31506 AND\'94\loch\f31506 condition. This is don\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 e with the expression \'93\loch\f31506 \hich\f31506 &&\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6896162 .
\par
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid7146872\charrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 Example:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid15940546\charrsid9388365
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15940546 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546
451,58 → 452,60
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535 \hich\af31502\dbch\af31501\loch\f31502 Troubleshooting
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid3028086 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31502\dbch\af31501\loch\f31502
Error message "The plugin "Plugins\\<Plugin1>.dll" and the plugin "Plugins\\<Plugin2>.dll" have the same\hich\af31502\dbch\af31501\loch\f31502 identification GUID. The latter will not be loaded.
Error message "The plugin "Plugins\\<Plugin1>.dll" and the plugin "Plugins\\\hich\af31502\dbch\af31501\loch\f31502 <Plugin2>.dll" have the same identification GUID. The latter will not be loaded.
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9373535 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506
This error message can have 2 reasons:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 Reason 1}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 Reason 1
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 You have the same plugin twice, with different file names. In this case, you s}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 hould delete on of these files.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid7814608 \hich\af31506\dbch\af31505\loch\f31506 Solution}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086
\hich\af31506\dbch\af31505\loch\f31506 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 You might want to keep the file with the highest
\hich\af31506\dbch\af31505\loch\f31506 version number and/or modification date.
\hich\af31506\dbch\af31505\loch\f31506 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 You mig\hich\af31506\dbch\af31505\loch\f31506
ht want to keep the file with the highest version number and/or modification date.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 Reason 2
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506
The plugin developer accidently used a GUID twice, or didn't change the GUID while using a code template. In this case you have to create a workaround.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid7814608 \hich\af31506\dbch\af31505\loch\f31506 Solution}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086
\hich\af31506\dbch\af31505\loch\f31506 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 Create a new INI file with the name Plugins\\<Name>.ini whe
\hich\af31506\dbch\af31505\loch\f31506 re <Name> is the filename of one of the conflicting plugins. For example, if the DLL file is named Plugins\\Example.dll , the INI file would be named Plugins\\Example.ini . This INI file }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid4656946 \hich\af31506\dbch\af31505\loch\f31506 should have following contents:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535
\hich\af31506\dbch\af31505\loch\f31506 : }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 Cr\hich\af31506\dbch\af31505\loch\f31506
eate a new INI file with the name Plugins\\<Name>.ini where <Name> is the filename of one of the conflicting plugins. For example, if the DLL file is named Plugins\\Example.dll , the INI file would be named Plugins\\Example.ini . This INI file }{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid4656946 \hich\af31506\dbch\af31505\loch\f31506 should have fol\hich\af31506\dbch\af31505\loch\f31506 lowing contents:}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4656946 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4656946
\hich\af2\dbch\af31505\loch\f2 [Compatibility]
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid9373535 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4656946
\hich\af2\dbch\af31505\loch\f2 OverrideGUID=\{936DA01F\hich\af2\dbch\af31505\loch\f2 -9ABD-4D9D-80C7-02AF85C822A8\}
\hich\af2\dbch\af31505\loch\f2 OverrideGUID=\{936DA01F-9ABD-4D9D-80C7-02AF85C822A8\}
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 Where }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 <GUID>}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 is a GUID in the format }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4476179 \{\hich\af2\dbch\af31505\loch\f2 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 .
\par \hich\af31506\dbch\af31505\loch\f31506 You }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid12390765 \hich\af31506\dbch\af31505\loch\f31506 can gener}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid4656946\charrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 ate a new GUID at this website: }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354
\hich\af31506\dbch\af31505\loch\f31506 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK \hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 http://}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid9318354\charrsid12390765 \hich\af31506\dbch\af31505\loch\f31506 www.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354\charrsid12390765 \hich\af31506\dbch\af31505\loch\f31506
viathinksoft.de/~daniel-marschall/tools/uuid_mac_decoder/interprete_uuid.php?uuid=CREATE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 }
}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9318354\charrsid8086032 \hich\af31506\dbch\af31505\loch\f31506 www.viathinksoft.de/~daniel-marschall/tools/uuid_mac_decoder/interprete_uuid.php?uuid=CREATE}}}
\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \fs20\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4476179
\hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "http://}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354\charrsid12390765 \hich\af31506\dbch\af31505\loch\f31506
www.viathinksoft.de/~daniel-marschall/tools/uuid_mac_decoder/interprete_uuid.php?uuid=CREATE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 " }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16410202 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90be000000068007400740070003a002f002f007700770077002e007600690061007400680069006e006b0073006f00660074002e00640065002f007e00640061006e00690065006c002d006d0061007200730063006800
61006c006c002f0074006f006f006c0073002f0075007500690064005f006d00610063005f006400650063006f006400650072002f0069006e00740065007200700072006500740065005f0075007500690064002e007000680070003f0075007500690064003d004300520045004100540045000000795881f43b1d7f48af
2c825dc485276300000000a5ab0001000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9318354\charrsid8086032 \hich\af31506\dbch\af31505\loch\f31506
www.viathinksoft.de/~daniel-marschall/tools/uuid_mac_decoder/interprete_uuid.php?uuid=CREATE}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \fs20\lang1033\langfe1031\langnp1033\insrsid9373535\charrsid4476179
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535 \hich\af31506\dbch\af31505\loch\f31506 You have to copy the field "Your UUID" and add curly braces around it.
\par \hich\af31506\dbch\af31505\loch\f31506 Please also contact the plugin authors and inform him about the issue.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535\charrsid9373535
\par \hich\af31506\dbch\af31505\loch\f31506 Please also contact the plugin authors and inform him about the issue.
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid4871690 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid4871690 \hich\af31502\dbch\af31501\loch\f31502 Plugin-Development
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3028086 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506
Plugins are DLL files which are copied in the folder \loch\af31506\dbch\af31505\hich\f31506 \'93\hich\af31506\dbch\af31505\loch\f31506 Plugins\loch\af31506\dbch\af31505\hich\f31506 \'94\hich\af31506\dbch\af31505\loch\f31506
. They are automatically loaded. Please name your DLL file identically to the \hich\af31506\dbch\af31505\loch\f31506 i\hich\af31506\dbch\af31505\loch\f31506 dentification method name you will use\hich\af31506\dbch\af31505\loch\f31506 (see }{\rtlch\fcs1
\af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodNameW}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3028086\charrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 )}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
Plugins are DLL files which are copied in the folder \'93\loch\f31506 \hich\f31506 Plugins\'94\loch\f31506 . They are automatically loaded. Please name your DLL file identically to the identification method name you will use (see }{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodNameW}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086\charrsid16410202
\hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086\charrsid3028086
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid16262044 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16262044 \hich\af31502\dbch\af31501\loch\f31502 SDK Contents}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16262044\charrsid16262044
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4871690 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 UserDetect}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 2 as well as the default plugins are developed in Delphi.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 However, plugins can be written in a}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid5114084 \hich\af31506\dbch\af31505\loch\f31506 ny programming language like C\hich\af31506\dbch\af31505\loch\f31506 ++}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 .}
{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16262044 \hich\af31506\dbch\af31505\loch\f31506 The SDK pr
\hich\af31506\dbch\af31505\loch\f31506 ovides}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5114084 \hich\af31506\dbch\af31505\loch\f31506 header files for Delphi and C}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16262044 .
\lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 2\hich\af31506\dbch\af31505\loch\f31506 as well as the default plugins are developed in Delphi.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 \hich\af31506\dbch\af31505\loch\f31506
However, plugins can be written in a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5114084 \hich\af31506\dbch\af31505\loch\f31506 ny programming language like C++}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16262044 \hich\af31506\dbch\af31505\loch\f31506 The SDK provides}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5114084 \hich\af31506\dbch\af31505\loch\f31506 header files for Delphi and C}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16262044 .
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid16262044\charrsid15484970 \hich\af31506\dbch\af31505\loch\f31506 Delphi}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid9180311
\hich\af31506\dbch\af31505\loch\f31506 units}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid16262044\charrsid15484970 \hich\af31506\dbch\af31505\loch\f31506 :
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid16262044 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
517,8 → 520,7
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid15078789 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 ud2_utils.h (included via ud2_api.h)
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid11404612 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11404612
\hich\af31506\dbch\af31505\loch\f31506 ud2_status.h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af31506\dbch\af31505\loch\f31506 (included via ud2_api.h)}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid11404612
\hich\af31506\dbch\af31505\loch\f31506 ud2_status.h (included via ud2_api.h)
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid3025658 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3025658 \hich\af31502\dbch\af31501\loch\f31502 Exported functions}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3025658\charrsid13328561
542,9 → 544,9
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 cdecl}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 PluginVendorW(lpPluginVendor: LPWSTR; cchSize: DWORD; wLangID: LANGID): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 cdecl}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;
\hich\af2\dbch\af31505\loch\f2 PluginVendorW(\hich\af2\dbch\af31505\loch\f2 lpPluginVendor: LPWSTR; cchSize: DWORD; wLangID: LANGID): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2
UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 CheckLicense(lpReserved: LPVOID): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 cdecl}{\rtlch\fcs1
553,14 → 555,18
\hich\af2\dbch\af31505\loch\f2 IdentificationMethodNameW(lpIdentificationMethodName: LPWSTR; cchSize: DWORD): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 cdecl}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;
\par \hich\af2\dbch\af31505\loch\f2 function IdentificationStringW(lpIdentifier: LPWSTR; cchSize: DWORD): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid5793177 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 IdentificationStringW(lpIdentifier: LPWSTR; cchSize: DWORD): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 cdecl}{\rtlch\fcs1
\af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561
\af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13328561
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af2\dbch\af31505\loch\f2 DescribeOwnStatusCodeW(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af2\dbch\af31505\loch\f2 cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177 \hich\af2\dbch\af31505\loch\f2 ;
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13328561 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid9318354
\hich\af31506\dbch\af31505\loch\f31506 In C }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 notation:
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12134973 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608
\hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 GUID Plug\hich\af2\dbch\af31505\loch\f2 inInterfaceID();}{\rtlch\fcs1 \af0
\ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 GUID PluginInterfaceID();}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid12134973
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 GUID PluginIdentifier();
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
571,7 → 577,8
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 PluginVersionW(LPWSTR lpPluginVersion, DWORD cchSize, LANGID wLangID);
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10644118\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 PluginVendorW(LPWSTR lpPluginVendor, DWORD cchSize, LANGID wLangID);
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 Plu\hich\af2\dbch\af31505\loch\f2
ginVendorW(LPWSTR lpPluginVendor, DWORD cchSize, LANGID wLangID);
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10644118\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 CheckLicense(LPVOID lpReserved);
580,8 → 587,11
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 IdentificationMethodNameW(LPWSTR lpIdentificationMethodName, DWORD cchSize);
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid7814608 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10644118\charrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 Identifi\hich\af2\dbch\af31505\loch\f2 cationStringW(LPWSTR lpIdentifier, DWORD cchSize);
 
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 IdentificationStringW(L\hich\af2\dbch\af31505\loch\f2 PWSTR lpIdentifier, DWORD cchSize);}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177 \hich\af2\dbch\af31505\loch\f2 __cdecl}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af2\dbch\af31505\loch\f2 BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STAT}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5793177 \hich\af2\dbch\af31505\loch\f2 US statusCode, LANGID wLangID);}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid12134973
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4871690 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13328561
\hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13328561\charrsid13328561 \hich\af2\dbch\af31505\loch\f2 PluginInterfaceID}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13328561
592,14 → 602,14
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid12134973 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid13328561 \hich\af2\dbch\af31505\loch\f2 PluginIdentifier}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid12134973
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 This method has to return\hich\af31506\dbch\af31505\loch\f31506 a GUID which is unique for this plugin.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 This method has to return a GUID which is unique for this plugin.
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13978329 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid13978329
\hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid13978329 \hich\af2\dbch\af31505\loch\f2 IdentificationString}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\ul\lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af2\dbch\af31505\loch\f2 W}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid13978329
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \hich\af31506\dbch\af31505\loch\f31506 The}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506
function returns the}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \hich\af31506\dbch\af31505\loch\f31506 identification string}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329
\hich\af31506\dbch\af31505\loch\f31506 , which }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \hich\af31506\dbch\af31505\loch\f31506 is a null-terminated C\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
-string which contains the value of the identification performed. For example, the UserName-Plugin would output \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid288678\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 John<NUL>}{
\hich\af31506\dbch\af31505\loch\f31506 , which }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \hich\af31506\dbch\af31505\loch\f31506 is a null-terminated C-st\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
ring which contains the value of the identification performed. For example, the UserName-Plugin would output \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid288678\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 John<NUL>}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 \hich\f31506 . With this output, the task \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid288678\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 UserName:John=calc.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506
would be performed (calc.exe will be called).
611,10 → 621,10
ample, for the MAC-plugin, the t}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 ask \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899
\hich\af2\dbch\af31505\loch\f2 LAN_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9121458\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 MAC:=calc.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458
\loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 will }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 NOT}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 be executed, because th\hich\af31506\dbch\af31505\loch\f31506 e identifica}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16212651
\lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 be executed, becaus\hich\af31506\dbch\af31505\loch\f31506 e the identifica}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16212651
\hich\af31506\dbch\af31505\loch\f31506 tion string (after the colon) cannot be}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 empty.
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 2.\tab}\hich\af31506\dbch\af31505\loch\f31506
Multiple outputs: Multiple identifications, e.g. multiple MAC addresses are separated with a linefeed (0x10). Each identification will be traded separately. For example, if the MAC-Plugin return\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 s \'93}{
Multiple outputs: Multiple identifications, e.g. multiple MAC addresses are separated with a linefeed (0x10). Each identification will be traded separately. For example, if the MAC-Plugin re\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 turns \'93}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9121458\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 11-22-33-44-55-66<LF>66-55-44-33-22-11<NUL>}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815
\loch\af31506\dbch\af31505\hich\f31506 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 , the fo}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815
\hich\af31506\dbch\af31505\loch\f31506 llowing tasks will be executed:
637,8 → 647,7
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 Th}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid206584 \hich\af31506\dbch\af31505\loch\f31506 ese methods return}
{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 a human re}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839 \hich\af31506\dbch\af31505\loch\f31506
adable name, vendor }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid206584 \hich\af31506\dbch\af31505\loch\f31506 or}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839
\hich\af31506\dbch\af31505\loch\f31506 version of the plugin. These strings }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 will be shown in\hich\af31506\dbch\af31505\loch\f31506
the GUI.
\hich\af31506\dbch\af31505\loch\f31506 version of the plugin. These strings }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 will be shown in the GUI.
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid6707673\charrsid6707673 \hich\af2\dbch\af31505\loch\f2 wLangID}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6707673 \hich\af31506\dbch\af31505\loch\f31506
is the 16-bit lang}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid7814608 \hich\af31506\dbch\af31505\loch\f31506 uage ID according to the WinAPI:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6707673
\par \tab \hich\af31506\dbch\af31505\loch\f31506 Lower 8 bit = Primary Language ID (e.g. }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid6707673\charrsid3285525 \hich\af2\dbch\af31505\loch\f2 LANG_ENGLISH}{\rtlch\fcs1 \af0 \ltrch\fcs0
654,8 → 663,8
\hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid5064448 \hich\af2\dbch\af31505\loch\f2 CheckLicense}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid5064448\charrsid13978329
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3569955 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839 \hich\af31506\dbch\af31505\loch\f31506
This method will be called before the plugin is loaded. The plugin has the ability to check if it may be used or not. For example, a plugin with a time-limited license can check the computer clock, or a plugin for Beta-Testers can check if it is running o
\hich\af31506\dbch\af31505\loch\f31506 n\hich\af31506\dbch\af31505\loch\f31506 the intended computer only.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5064448
This method will be called before the plugin is loaded. The plugin has the ability to check if it may be used or not. For example, a plugin with a time-limited license can check the computer clock, or a plugin for Beta-Testers can check if it
\hich\af31506\dbch\af31505\loch\f31506 is running on the intended computer only.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5064448
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839 \hich\af31506\dbch\af31505\loch\f31506 The return value should be}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9373535
\hich\af31506\dbch\af31505\loch\f31506 either}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid9373535
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_LICENSED }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15153839 \hich\af31506\dbch\af31505\loch\f31506 or }{\rtlch\fcs1 \af2 \ltrch\fcs0
665,14 → 674,14
\hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid16384757\charrsid16384757 \hich\af2\dbch\af31505\loch\f2 Identification}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\ul\lang1033\langfe1031\langnp1033\insrsid16384757 \hich\af2\dbch\af31505\loch\f2 M}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid13978329 \hich\af2\dbch\af31505\loch\f2 ethodName}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af2\dbch\af31505\loch\f2 W}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid13978329
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 This method returns a short string of the identification method. This name will be used \hich\af31506\dbch\af31505\loch\f31506
in the identifications lines in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329
\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 . For example, the MAC-Addresses plugin will have the method name \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 LA}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 N_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 MAC}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 \hich\f31506 , so that a task \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899
\hich\af2\dbch\af31505\loch\f2 LAN_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid6372815 \hich\af2\dbch\af31505\loch\f2 MAC:11-22-33-44-55-66=calc.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13978329 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 can be defined in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506
Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 .
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 This method returns a short string of t\hich\af31506\dbch\af31505\loch\f31506
he identification method. This name will be used in the identifications lines in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 . For example, the MAC-Addresses plugin will have the method name \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899
\hich\af2\dbch\af31505\loch\f2 LA}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 N_}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 MAC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 \hich\f31506
, so that a task \'93}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1340899 \hich\af2\dbch\af31505\loch\f2 LAN_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid6372815
\hich\af2\dbch\af31505\loch\f2 MAC:11-22-33-44-55-66=calc.exe}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \loch\af31506\dbch\af31505\hich\f31506 \'94\loch\f31506 can be defined in the }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12134973 \hich\af31506\dbch\af31505\loch\f31506 Task Definition File}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 .
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5733712 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712\charrsid5733712
\hich\af31506\dbch\af31505\loch\f31506 The identification }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af31506\dbch\af31505\loch\f31506 method name}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid5733712\charrsid5733712 \hich\af31506\dbch\af31505\loch\f31506 must be}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af31506\dbch\af31505\loch\f31506 a wide string (16}{
681,8 → 690,18
The string must not contain an equal-sign (=)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 or \'93\loch\f31506 \hich\f31506 &&\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12719322 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3635325 \hich\af31506\dbch\af31505\loch\f31506 The output will be treated case sensitive.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177 \hich\af31506\dbch\af31505\loch\f31506 Method }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af2\dbch\af31505\loch\f2 DescribeOwnStatusCodeW}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5793177 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af31506\dbch\af31505\loch\f31506 This function should return human readable \hich\af31506\dbch\af31505\loch\f31506
descriptions of the non-generic status codes which THIS plugin is returning. You do not need to describe generic status codes (because they are already described of the UserDetect2 API). This function will only be invoked, once a status code could not be
\hich\af31506\dbch\af31505\loch\f31506 r\hich\af31506\dbch\af31505\loch\f31506 esolved. Return TRUE, if you could describe the code, FALSE otherwise, e.g. if the status code is unknown}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid5793177 \hich\af31506\dbch\af31505\loch\f31506 or if the buffer is too small.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13978329 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5793177\charrsid5793177
\hich\af31506\dbch\af31505\loch\f31506 Attention: If the requested language is not available, please return TRUE, and return the description in English.
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid3025658 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3025658 \hich\af31502\dbch\af31501\loch\f31502 Status codes
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3025658 \hich\af31502\dbch\af31501\loch\f31502 Statu
\hich\af31502\dbch\af31501\loch\f31502 s codes
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid13966640\charrsid13966640 \hich\af31506\dbch\af31505\loch\f31506
Structure of status codes (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13966640\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af0 \ltrch\fcs0
694,14 → 713,14
\par \hich\af2\dbch\af31505\loch\f2 +-----+-----------------+-----------------------+
\par \hich\af2\dbch\af31505\loch\f2 |31 28|27 16|15 0|
\par \hich\af2\dbch\af31505\loch\f2 |Cat. |}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5907818 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af2\dbch\af31505\loch\f2 Authority }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5907818 \hich\af2\dbch\af31505\loch\f2 | \hich\af2\dbch\af31505\loch\f2 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af2\dbch\af31505\loch\f2 Message \hich\af2\dbch\af31505\loch\f2 |
\hich\af2\dbch\af31505\loch\f2 Authority }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5907818 \hich\af2\dbch\af31505\loch\f2 | }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af2\dbch\af31505\loch\f2 Message |
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af2\dbch\af31505\loch\f2 +-----+-----------}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af2\dbch\af31505\loch\f2 ------+-----------------------+}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Categ\hich\af31506\dbch\af31505\loch\f31506 ory}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 (1 nibble =}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 4 bits; bits 28..31)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Category}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 (1 nibble =}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 4 bits; bits 28..31)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 0x0..0x7 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 are reserved
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x8 = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
709,7 → 728,7
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x9 = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Not available
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0xA = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Error
\hich\af31506\dbch\af31505\loch\f31506 Er\hich\af31506\dbch\af31505\loch\f31506 ror
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 0xB..0xF }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 are reserved}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
720,11 → 739,13
\hich\af2\dbch\af31505\loch\f2 0x000 .. 0x0FF = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 reserved
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x100 = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 generic status codes (you }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15082545 \hich\af31506\dbch\af31505\loch\f31506 should}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 use them}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15082545 ,\hich\af31506\dbch\af31505\loch\f31506 if }{\rtlch\fcs1 \af0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 use them}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15082545 \hich\af31506\dbch\af31505\loch\f31506 , if }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9388365\charrsid9388365 \hich\af31506\dbch\af31505\loch\f31506 applicable}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
)
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x101 .. 0xEFF = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 by ViaThinkSoft assigned organizations (please see below)
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x101 .. 0xEFF = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16410202\charrsid16410202
\hich\af31506\dbch\af31505\loch\f31506 status codes from}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16410202\charrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 by}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
ViaThinkSoft assigned organizations (please see below)
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0xF00 .. 0xFEF =}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12390765\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 experimental codes
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
738,26 → 759,24
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4476179 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 0x0000}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid4476179
\hich\af31506\dbch\af31505\loch\f31506 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 n unspecified status on c\hich\af31506\dbch\af31505\loch\f31506
ategory "C", issued by authority "A"
\hich\af31506\dbch\af31505\loch\f31506 a}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 n unspecified status on category "C", issued by
\hich\af31506\dbch\af31505\loch\f31506 authority "A"
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x0001..}
{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0xFFFF = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 the status on category "C", issued by authority "A".
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Currently a\hich\af31506\dbch\af31505\loch\f31506 ssigned generic status codes
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Currently assigned generic status codes
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid3943969\charrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 Note}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969\charrsid3943969
\hich\af31506\dbch\af31505\loch\f31506 : The following status codes are in hexadecimal notation. This notation \loch\af31506\dbch\af31505\hich\f31506 \'93\hich\af31506\dbch\af31505\loch\f31506 c aaa mmmm\loch\af31506\dbch\af31505\hich\f31506 \'94
\hich\af31506\dbch\af31505\loch\f31506 is a human friendly representation of an UD2_STATUS, which \hich\af31506\dbch\af31505\loch\f31506 should be used in message \hich\af31506\dbch\af31505\loch\f31506 dialogs for the user.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3943969
\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 : The following status codes are in hexadecimal notation. This notation \'93\loch\f31506 \hich\f31506 c aaa mmmm\'94\hich\af31506\dbch\af31505\loch\f31506
is a human friendly representation of an UD2_STATUS, which should be used in message dialogs for the user.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3998625 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625
\hich\af31506\dbch\af31505\loch\f31506 Category \loch\af31506\dbch\af31505\hich\f31506 \'93\hich\af31506\dbch\af31505\loch\f31506 Successful\loch\af31506\dbch\af31505\hich\f31506 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid3998625
\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 Category \'93\loch\f31506 \hich\f31506 Successful\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3998625 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 8}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0000\hich\af31506\dbch\af31505\loch\f31506 = Unspecified success code}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_UNSPECIFIED}{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid3998625
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0000 = Unspecified success code}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid3998625
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 8}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0001 = Success, one identifier returned}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_SINGLELINE}{\rtlch\fcs1 \af0 \ltrch\fcs0
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK\hich\af2\dbch\af31505\loch\f2 _SINGLELINE}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 8}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
100 0002 = Success, multiple identifiers returned}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0
767,16 → 786,16
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0003 = The plugin is licensed}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_LICENSED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625 \hich\af31506\dbch\af31505\loch\f31506 Category \loch\af31506\dbch\af31505\hich\f31506 \'93\hich\af31506\dbch\af31505\loch\f31506 Not available
\loch\af31506\dbch\af31505\hich\f31506 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 Category \'93\loch\f31506 \hich\f31506 Not available\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3998625
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 9}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0000 = Not available, Unspecified}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_NOTAVAIL_UNSPECIFIED}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 9}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
100 0001 = Operating system not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid11096861 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_O\hich\af2\dbch\af31505\loch\f2 S_NOT_SUPPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid11096861 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 9}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
100 0002 = Hardware not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0
783,42 → 802,42
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 9}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 10}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 0 0003 = No entities available, }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 e.g. no net\hich\af31506\dbch\af31505\loch\f31506 work interfac}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 es for }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af31506\dbch\af31505\loch\f31506 identif\hich\af31506\dbch\af31505\loch\f31506 ying}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 MAC addresses (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_NOTAVAIL_NO_ENTITIES}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 e.g. no network interfac}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 es for }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af31506\dbch\af31505\loch\f31506 identifying}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 MAC addresses (}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_NOTAVAIL_NO_ENTITIES}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3998625 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 9}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506
0004 = An API call has failed, possibly operating system not supported (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_API_CALL_FAILURE}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625 \hich\af31506\dbch\af31505\loch\f31506 Category \loch\af31506\dbch\af31505\hich\f31506 \'93\hich\af31506\dbch\af31505\loch\f31506 Failure
\loch\af31506\dbch\af31505\hich\f31506 \'94}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 Category \'93\loch\f31506 \hich\f31506 Failure\'94}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3998625\charrsid3998625
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 A}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0000 = Unspecified error}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_ERROR_UNSPECIFIED}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 A}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
100 0001 = Buffer too small}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_ERROR_BU\hich\af2\dbch\af31505\loch\f2 FFER_TOO_SMALL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_BUFFER_TOO_SMALL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 A}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
100 0002 = Invalid arguments passed to function}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS_ERROR_INVALID_ARGS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_INVALID_ARGS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5178738 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 A}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0003 = The plu\hich\af31506\dbch\af31505\loch\f31506 gin is not licensed}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_P
\hich\af2\dbch\af31505\loch\f2 LUGIN_NOT_LICENSED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 100 0003 = The plugin is not licensed}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid15888011\charrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 Note}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011
\hich\af31506\dbch\af31505\loch\f31506 : \hich\af31506\dbch\af31505\loch\f31506 The status codes }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
0xFFFFFFFF, 0x00000000 and 0x00000001}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 are always illegal, to avoid confusion with other }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 datat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625 \hich\af31506\dbch\af31505\loch\f31506 ype values}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 like }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15888011\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 BOOL}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 or }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15888011\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 HRESULT}{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 .
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738
\hich\af31506\dbch\af31505\loch\f31506 Acquirat\hich\af31506\dbch\af31505\loch\f31506 ion of an Authority ID}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid2576803 \hich\af31506\dbch\af31505\loch\f31506 for status codes}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738
\hich\af31506\dbch\af31505\loch\f31506 : The status codes }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 0xFFFFFFFF, 0x00000000 and 0x00000001}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 are always illegal, to avoid confusion with other datat}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625
\hich\af31506\dbch\af31505\loch\f31506 ype values}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 like }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid15888011\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 BOOL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 \hich\af31506\dbch\af31505\loch\f31506 or }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid15888011\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 HRESULT}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15888011 .
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 A
}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid13506709\charrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 cquisition }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738
\hich\af31506\dbch\af31505\loch\f31506 of an Authority ID}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid2576803 \hich\af31506\dbch\af31505\loch\f31506 for status codes}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 To }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 acquire}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15082545 \hich\af31506\dbch\af31505\loch\f31506 an own Authority }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 ID, please follow these steps:
827,13 → 846,14
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 r a free OID from ViaThinkSoft}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9258736 \hich\af31506\dbch\af31505\loch\f31506
at this website:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086
\par }\pard \ltrpar\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid3028086 {\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354
\hich\af31506\dbch\af31505\loch\f31506 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK \hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 http://\hich\af31506\dbch\af31505\loch\f31506 www.viathinksoft.de/freeoid
\hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9318354\charrsid8086032 \hich\af31506\dbch\af31505\loch\f31506
www.viathinksoft.de/freeoid}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 H\hich\af31506\dbch\af31505\loch\f31506 YPERLINK "http://www.viathinksoft.de/freeoid" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16410202 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5e00000068007400740070003a002f002f007700770077002e007600690061007400680069006e006b0073006f00660074002e00640065002f0066007200650065006f00690064000000795881f43b1d7f48af2c825d
c485276300000000a5ab0001030000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9318354\charrsid8086032 \hich\af31506\dbch\af31505\loch\f31506 www.viathinksoft.de/freeoid}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid9258736\charrsid9258736 \hich\af31506\dbch\af31505\loch\f31506 Note: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Although these OIDs are }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506 mainly intended }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 for private non-commercial indiv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086 \hich\af31506\dbch\af31505\loch\f31506
iduals, you can also register these}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 as commercial \hich\af31506\dbch\af31505\loch\f31506 organization.
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 for private non-commercial \hich\af31506\dbch\af31505\loch\f31506 indiv}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3028086
\hich\af31506\dbch\af31505\loch\f31506 iduals, you can also register these}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 as commercial organization.
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1031\langnp1033\insrsid7105396 \hich\af31506\dbch\af31505\loch\f31506 2.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls10\adjustright\rin0\lin720\itap0\pararsid3028086 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid7105396 \hich\af31506\dbch\af31505\loch\f31506 The last arc in your OID added to}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6776079 \hich\af31506\dbch\af31505\loch\f31506 256 (}{
844,10 → 864,10
\i\lang1033\langfe1031\langnp1033\insrsid11096861\charrsid11096861
\par }\pard \ltrpar\ql \fi720\li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11096861 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969
\hich\af31506\dbch\af31505\loch\f31506 If y}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 our OID is 1.3.6.1.4.1.37476.9000.99
\par \hich\af31506\dbch\af31505\loch\f31506 T\hich\af31506\dbch\af31505\loch\f31506 he}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 n the}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 last arc }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 of }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12390765 \hich\af31506\dbch\af31505\loch\f31506 this}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 OID \hich\af31506\dbch\af31505\loch\f31506
is }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 99}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861
\par \hich\af31506\dbch\af31505\loch\f31506 The}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 n the}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861
\hich\af31506\dbch\af31505\loch\f31506 last arc }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 of }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12390765
\hich\af31506\dbch\af31505\loch\f31506 this}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 OID is }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 99}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 Calculate: }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 99}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 +}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid11096861 \hich\af31506\dbch\af31505\loch\f31506
0x100 = 0x63 + 0x100 = 0x163
855,8 → 875,12
\lang1033\langfe1031\langnp1033\insrsid5178738 \hich\af31506\dbch\af31505\loch\f31506 ign the status codes }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738 \hich\af2\dbch\af31505\loch\f2 0x-0163----}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Beside the usage as Authority Identifier for the status cod\hich\af31506\dbch\af31505\loch\f31506 es, you can use your OID for every other purpose. More inform}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid5178738 \hich\af31506\dbch\af31505\loch\f31506 ation about OIDs at oid-info.com}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Beside the usage as Authority Identifier for the status codes, you can use your OID for every other purpose. More inform}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738
\hich\af31506\dbch\af31505\loch\f31506 ation about OIDs at oid-info.com}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid9838644\charrsid9838644 \hich\af31506\dbch\af31505\loch\f31506 Note:}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9838644
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10766123 \hich\af31506\dbch\af31505\loch\f31506 The last possible OID is \hich\af31506\dbch\af31505\loch\f31506 1.3.6.1.4.1.37476.9000.}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10766123\charrsid10766123 \hich\af31506\dbch\af31505\loch\f31506 3583}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10766123 \hich\af31506\dbch\af31505\loch\f31506
which maps to Authority ID 0xEFF.
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13978329 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5178738 \hich\af31506\dbch\af31505\loch\f31506
Relevant code part i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3025658\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 n Delphi-Notation}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 (PluginIntf.pas)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3025658
872,7 → 896,7
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278 \hich\af2\dbch\af31505\loch\f2 = $0000..$FFFF;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid3025658
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11404612 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3025658\charrsid3025658
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 const
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_UNSPECIFIED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612
\hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $81000000;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_SINGLELINE }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
882,7 → 906,7
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_LICENSED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $81000003;
\par
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_UNSPECIFIED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAI\hich\af2\dbch\af31505\loch\f2 L_UNSPECIFIED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $91000000;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $91000001;
890,10 → 914,10
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $91000002;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_NO_ENTITIES }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $91000003;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_API_CALL_FAIL\hich\af2\dbch\af31505\loch\f2 URE }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_API_CALL_FAILURE }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $91000004;
\par
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_UNSPECIFIED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ER\hich\af2\dbch\af31505\loch\f2 ROR_UNSPECIFIED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $A1000000;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_BUFFER_TOO_SMALL }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $A1000001;
900,7 → 924,7
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8269150 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_INVALID_ARGS }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $A1000002;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_PLUGIN_NOT_\hich\af2\dbch\af31505\loch\f2 LICENSED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 =}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $A1000003;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
909,31 → 933,29
\par }\pard \ltrpar\ql \fi720\li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 auth: UD2_STATUSAUTH; msg: UD2_STATUSMSG): UD2_STATUS;
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 UD2\hich\af2\dbch\af31505\loch\f2
_STATUS_GetCategory(dwStatus: UD2_STATUS): UD2_STATUSCAT;
\hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_GetCategory(dwStatus: UD2_STATUS): UD2_STATUSCAT;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_GetAuthority(dwStatus: UD2_STATUS): UD2_STATUSAUTH;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_GetMessage(dwStatus: UD2_STATUS): UD2_STATUSMSG;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_GetMessage(dwStatus: UD2_STATUS): UD2_S\hich\af2\dbch\af31505\loch\f2 TATUSMSG;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_Successful(dwStatus: UD2_STATUS): boo\hich\af2\dbch\af31505\loch\f2 lean;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_Successful(dwStatus: UD2_STATUS): boolean;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NotAvail(dwStatus: UD2_STATUS): boolean;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_Failed(dwStatus: UD2_STATUS): boolean;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_FormatStatusCode(dwStatus: UD2_STATUS): string;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_FormatStatusCode(dwStatus: UD2_STATUS): str\hich\af2\dbch\af31505\loch\f2 ing;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222 \hich\af2\dbch\af31505\loch\f2 IsSpecific}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 (dwStatus: UD2_STATUS): boolean\hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150
\f2\lang1033\langfe1031\langnp1033\insrsid8269150\charrsid8269150 \hich\af2\dbch\af31505\loch\f2 (dwStatus: UD2_STATUS): boolean;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid8269150
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11404612 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5178738 \hich\af31506\dbch\af31505\loch\f31506
Relevant code part i}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid9258736 \hich\af31506\dbch\af31505\loch\f31506 n C }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3025658\charrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 notation}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 (ud2_}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af31506\dbch\af31505\loch\f31506 status}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0
\ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af31506\dbch\af31505\loch\f31506 , included via ud2_api\hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5064448
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738 \hich\af31506\dbch\af31505\loch\f31506 Please use the functions specified below, to handle status codes.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738
\ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af31506\dbch\af31505\loch\f31506 , included via ud2_api.h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid5064448
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738\charrsid5178738 \hich\af31506\dbch\af31505\loch\f31506 Please use the functions specified below, to handle status codes.
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5064448 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 DWORD UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3025658
 
952,7 → 974,7
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_OK_MULTILINE = 0x81000002;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_OK_LICENSED = 0x\hich\af2\dbch\af31505\loch\f2 81000003;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_OK_LICENSED = 0x81000003;
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_NOTAVAIL_UNSPECIFIED = 0x91000000;
961,12 → 983,12
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED = 0x91000002;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_NOTAVAIL_N\hich\af2\dbch\af31505\loch\f2 O_ENTITIES = 0x91000003;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_NOTAVAIL_NO_ENTITIES = 0x91000003;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_NOTAVAIL_API_CALL_FAILURE = 0x91000004;
\par
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_ERROR_UNSPECIFIED = 0xA1000000;
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_ERROR_UNSPECIFIED \hich\af2\dbch\af31505\loch\f2 = 0xA1000000;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_ERROR_BUFFER_TOO_SMALL = 0xA1000001;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612
975,13 → 997,13
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED = 0xA1000003;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3022222 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_Construct(UD2_STATUSCAT cat, UD2_STATUSAUTH auth,}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_Const\hich\af2\dbch\af31505\loch\f2 ruct(UD2_STATUSCAT cat, UD2_STATUSAUTH auth,}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970
\par }\pard \ltrpar\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG msg);
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 UD2_STATUSCAT UD2_STATUS_GetCategory(UD2_STATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSAUTH UD2_STATUS_GetAuthority(UD2_STATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG UD2_STATUS_GetMessage(UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG UD2_STATUS_GetMessage(UD2_STATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 BOOL UD2_STATUS_Successful(UD2_STATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 BOOL UD2_STATUS_NotAvail(UD2_STATUS dwStatus);
\par \hich\af2\dbch\af31505\loch\f2 BOOL UD2_STATUS_Failed(UD2_STATUS dwStatus);
992,15 → 1014,16
\par }\pard \ltrpar\ql \fi720\li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS dwStatus);
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5907818 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222
\hich\af2\dbch\af31505\loch\f2 BOOL UD2_STATUS_\hich\af2\dbch\af31505\loch\f2 IsSpecific(UD2_STATUS dwStatus);}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222
\hich\af2\dbch\af31505\loch\f2 BOOL UD2_STATUS_IsSpecific(UD2_STATUS dwStatus);}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid3025658 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0
\b\i\fs28\lang1031\langfe1031\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3025658 \hich\af31502\dbch\af31501\loch\f31502 Helper methods
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1929326 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af31506\dbch\af31505\loch\f31506
The plugin SDK contains methods which help you writing the strings in the bu\hich\af31506\dbch\af31505\loch\f31506 ffer, as well as checking for the buffer length. These functions also return the correct status codes.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 In C (ud2_utils}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 , included via ud2_api}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 ):
The plugin SDK contains methods which help you writing the strings in the buffer, as well as checking for the buffer length. These functions also return the correct status codes.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 In C (ud2_uti\hich\af31506\dbch\af31505\loch\f31506 ls}{\rtlch\fcs1 \af0 \ltrch\fcs0
\b\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 , included via ud2_api}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 .h}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 ):
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid203795 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_WriteStrW}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af2\dbch\af31505\loch\f2
(LPWSTR lpDest, DW}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326 \hich\af2\dbch\af31505\loch\f2 ORD cchDestSize, LPCWSTR lpSrc)}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546
1007,17 → 1030,14
\hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid668536 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid12390765
\hich\af2\dbch\af31505\loch\f2 #define}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid668536 \hich\af2\dbch\af31505\loch\f2 __}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536
\hich\af2\dbch\af31505\loch\f2 GUID(x) GUIDFromLPCWS\hich\af2\dbch\af31505\loch\f2 TR(L ## x)\line }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid668536 \hich\af2\dbch\af31505\loch\f2
GUID GUIDFromLPCWSTR(LPCWSTR lpcstrGUID)}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid1929326
 
\hich\af2\dbch\af31505\loch\f2 GUID(x) GUIDFromLPCWSTR(L ## x)\line }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid668536 \hich\af2\dbch\af31505\loch\f2 GUID GUIDFromLPCWSTR(LPCWSTR lpcstrGUID)}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid668536\charrsid1929326
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1929326 {\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15078789
\hich\af31506\dbch\af31505\loch\f31506 In Delphi (UD2_PluginUtils.pas):
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4476179 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 function }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_WritePascalStringToPointerW(lpDesti}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 nation: LPWSTR;
\hich\af2\dbch\af31505\loch\f2 function }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_WritePascalStringToPointerW(lpDestination: LPWSTR;
\par }\pard \ltrpar\ql \fi720\li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4476179 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 cchSize: DWORD; }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 stSource: WideString): UD2_STATUS;}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid4476179\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 cchSize: DWORD; stSource: WideString): UD2_STATUS;
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4476179 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid13381599
\hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599
\hich\af2\dbch\af31505\loch\f2 UD2_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af2\dbch\af31505\loch\f2 WriteStringListTo}{\rtlch\fcs1 \af2 \ltrch\fcs0
1034,12 → 1054,11
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af31506\dbch\af31505\loch\f31506 which is either }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13381599
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f2\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 o\tab}}\pard \ltrpar\ql \fi-360\li1440\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13381599 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 2_STATUS_ERROR_BUFFER_TOO_SMALL
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls3\ilvl1\adjustright\rin0\lin1440\itap0\pararsid13381599 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2
UD2_STATUS_ERROR_BUFFER_TOO_SMALL
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f2\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 o\tab}\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_UNSPECIFIED}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af31506\dbch\af31505\loch\f31506 (when no identifier is provided)
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f2\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 o\tab}}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STA}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2
TUS_NOTAVAIL_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af31506\dbch\af31505\loch\f31506 (when no identifier is provided)
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f2\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 o\tab}}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_MULTILINE
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f2\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 o\tab}\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_SINGLELINE
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid13381599 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
1046,7 → 1065,7
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid13381599 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_WriteStrW}{\rtlch\fcs1
\af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15153839 \hich\af2\dbch\af31505\loch\f2 ()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af31506\dbch\af31505\loch\f31506 and
}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3028086\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 WritePascalStringToPointerW}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15153839 \hich\af2\dbch\af31505\loch\f2 ()}{\rtlch\fcs1 \af0 \ltrch\fcs0
\hich\af2\dbch\af31505\loch\f2 Writ\hich\af2\dbch\af31505\loch\f2 ePascalStringToPointerW}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15153839 \hich\af2\dbch\af31505\loch\f2 ()}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326 \hich\af31506\dbch\af31505\loch\f31506 provide the same functionality.}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326\charrsid1929326
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af2\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid13381599 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
1063,33 → 1082,32
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls3\adjustright\rin0\lin720\itap0\pararsid15940546 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546\charrsid668536 \hich\af2\dbch\af31505\loch\f2 __}{\rtlch\fcs1 \af2
\ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af2\dbch\af31505\loch\f2 GUID()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546\charrsid15940546 \hich\af31506\dbch\af31505\loch\f31506
will convert a string literal to a}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15940546 \hich\af2\dbch\af31505\loch\f2 GUID}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546\charrsid538759
\hich\af31506\dbch\af31505\loch\f31506 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546\charrsid15940546 \hich\af31506\dbch\af31505\loch\f31506 This improves th\hich\af31506\dbch\af31505\loch\f31506
e readability of the source code}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid538759 \hich\af31506\dbch\af31505\loch\f31506 , since the GUID does not have to be written in a }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid538759\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 const struct}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid538759 \hich\af31506\dbch\af31505\loch\f31506 expression. }{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546 \line \hich\af31506\dbch\af31505\loch\f31506 In Delphi, this helper method is not necessary, since the compiler is able to convert a GUID-string to a GUID structure (record) at compile time.
}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15940546
\hich\af31506\dbch\af31505\loch\f31506 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546\charrsid15940546 \hich\af31506\dbch\af31505\loch\f31506 This improves the readability of the source code}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid538759 \hich\af31506\dbch\af31505\loch\f31506 , since the GUID does not have to be written in a }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid538759\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 const struct}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid538759 \hich\af31506\dbch\af31505\loch\f31506 expression. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546
\line \hich\af31506\dbch\af31505\loch\f31506 In Delphi, this helper method is not necessary, since the compiler is able to convert a GUID-string to a GUID structure (record) at compile time.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid1929326\charrsid15940546
\par }\pard\plain \ltrpar\s1\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid9307250 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31502\dbch\af31501\loch\f31502 Co
\hich\af31502\dbch\af31501\loch\f31502 ntact
\b\fs32\lang1031\langfe1031\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31502\dbch\af31501\loch\f31502 Contact
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid4871690 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31506\dbch\af31505\loch\f31506 UserDetect2 is a project of ViaThinkSoft ( }
{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "http://www.viathinksoft.com" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712
{\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5200000068007400740070003a002f002f007700770077002e007600690061007400680069006e006b0073006f00660074002e0063006f006d002f000000795881f43b1d7f48af2c825dc485276300000000a5ab0001
002d006d00140000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9307250\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 www.viathinksoft.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31506\dbch\af31505\loch\f31506 ) and is released under the terms\hich\af31506\dbch\af31505\loch\f31506 of GPLv3.
002d006d0014000014000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid9307250\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 www.viathinksoft.com}}}\sectd \ltrsect\linex0\sectdefaultcl\sftnbj {
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250 \hich\af31506\dbch\af31505\loch\f31506 ) and is released under the terms of GPLv3.
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 Project leader:
\par }\pard \ltrpar\ql \fi720\li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid6372815 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9307250
\hich\af31506\dbch\af31505\loch\f31506 Daniel Marschall
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 eMail:\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815
\hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "mailto:info@daniel-marschall.de" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
\hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "mailto:info@daniel-marschall.de\hich\af31506\dbch\af31505\loch\f31506 " }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b580000006d00610069006c0074006f003a0069006e0066006f004000640061006e00690065006c002d006d006100720073006300680061006c006c002e00640065000000795881f43b1d7f48af2c825dc48527630000
0000a5ab00010067004c00700001}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid6372815\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 info@daniel-marschall.de}}}\sectd \ltrsect
0000a5ab00010067004c007000010000002c}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid6372815\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 info@daniel-marschall.de}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815
\par \hich\af31506\dbch\af31505\loch\f31506 Web:\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "http://ww\hich\af31506\dbch\af31505\loch\f31506
w.daniel-marschall.de" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
\par \hich\af31506\dbch\af31505\loch\f31506 Web:\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "http://www.daniel-marschall.de" }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e00640061006e00690065006c002d006d006100720073006300680061006c006c002e00640065002f000000795881f43b1d7f48af2c825dc48527630000
0000a5ab00010000000000000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid6372815\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 www.daniel-marschall.de}}}\sectd \ltrsect
0000a5ab0001000000000000000000020002}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs17\ul\cf17\lang1033\langfe1031\langnp1033\insrsid6372815\charrsid9257259 \hich\af31506\dbch\af31505\loch\f31506 www.daniel-marschall.de}}}\sectd \ltrsect
\linex0\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8799422 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid8799422\charrsid8799422
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
1231,8 → 1249,8
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b012
eb0632fbd001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b0a5
c7acc0fcd001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}
/trunk/UserDetect2/UD2_Obj.pas
6,8 → 6,10
{$LEGACYIFEND ON}
{$IFEND}
 
{$INCLUDE 'UserDetect2.inc'}
 
uses
Windows, SysUtils, Classes, IniFiles, Contnrs, Dialogs;
Windows, SysUtils, Classes, IniFiles, Contnrs, Dialogs, UD2_PluginIntf;
 
const
cchBufferSize = 32768;
23,6 → 25,11
PluginVendor: WideString;
PluginVersion: WideString;
IdentificationMethodName: WideString;
 
// ONLY contains the non-failure status code of IdentificationStringW
IdentificationProcedureStatusCode: UD2_STATUS;
IdentificationProcedureStatusCodeDescribed: WideString;
Time: Cardinal;
function PluginGUIDString: string;
property DetectedIdentifications: TObjectList{<TUD2IdentificationEntry>}
46,7 → 53,9
 
TUD2 = class(TObject)
private
{$IFDEF CHECK_FOR_SAME_PLUGIN_GUID}
FGUIDLookup: TStrings;
{$ENDIF}
protected
FLoadedPlugins: TObjectList{<TUD2Plugin>};
FIniFile: TMemIniFile;
68,12 → 77,13
function ReadMetatagBool(ShortTaskName, MetatagName: string;
DefaultVal: string): boolean;
function GetTaskName(AShortTaskName: string): string;
class function GenericErrorLookup(dwStatus: UD2_STATUS): string;
end;
 
implementation
 
uses
UD2_PluginIntf, UD2_Utils;
UD2_Utils;
 
type
TUD2PluginLoader = class(TThread)
81,7 → 91,7
dllFile: string;
lngID: LANGID;
procedure Execute; override;
procedure HandleDLL;
function HandleDLL: boolean;
public
pl: TUD2Plugin;
Errors: TStringList;
89,7 → 99,7
destructor Destroy; override;
end;
 
function UD2_ErrorLookup(dwStatus: UD2_STATUS): string;
class function TUD2.GenericErrorLookup(dwStatus: UD2_STATUS): string;
resourcestring
LNG_STATUS_OK_UNSPECIFIED = 'Unspecified generic success';
LNG_STATUS_OK_SINGLELINE = 'Operation successful; one identifier returned';
186,10 → 196,12
Var
SR: TSearchRec;
path: string;
x: TUD2PluginLoader;
pluginLoader: TUD2PluginLoader;
tob: TObjectList;
i: integer;
sPluginID, v: string;
{$IFDEF CHECK_FOR_SAME_PLUGIN_GUID}
sPluginID, prevDLL: string;
{$ENDIF}
lngid: LANGID;
resourcestring
LNG_PLUGINS_SAME_GUID = 'Attention: The plugin "%s" and the plugin "%s" have the same identification GUID. The latter will not be loaded.';
221,25 → 233,27
 
for i := 0 to tob.count-1 do
begin
x := tob.items[i] as TUD2PluginLoader;
x.WaitFor;
Errors.AddStrings(x.Errors);
if Assigned(x.pl) then
pluginLoader := tob.items[i] as TUD2PluginLoader;
pluginLoader.WaitFor;
Errors.AddStrings(pluginLoader.Errors);
{$IFDEF CHECK_FOR_SAME_PLUGIN_GUID}
if Assigned(pluginLoader.pl) then
begin
sPluginID := GUIDToString(x.pl.PluginGUID);
v := FGUIDLookup.Values[sPluginID];
if (v <> '') and (v <> x.pl.PluginDLL) then
sPluginID := GUIDToString(pluginLoader.pl.PluginGUID);
prevDLL := FGUIDLookup.Values[sPluginID];
if (prevDLL <> '') and (prevDLL <> pluginLoader.pl.PluginDLL) then
begin
Errors.Add(Format(LNG_PLUGINS_SAME_GUID, [v, x.pl.PluginDLL]));
x.pl.Free;
Errors.Add(Format(LNG_PLUGINS_SAME_GUID, [prevDLL, pluginLoader.pl.PluginDLL]));
pluginLoader.pl.Free;
end
else
begin
FGUIDLookup.Values[sPluginID] := x.pl.PluginDLL;
LoadedPlugins.Add(x.pl);
FGUIDLookup.Values[sPluginID] := pluginLoader.pl.PluginDLL;
LoadedPlugins.Add(pluginLoader.pl);
end;
end;
x.Free;
{$ENDIF}
pluginLoader.Free;
end;
finally
tob.free;
250,7 → 264,9
begin
FIniFile.Free;
FLoadedPlugins.Free;
{$IFDEF CHECK_FOR_SAME_PLUGIN_GUID}
FGUIDLookup.Free;
{$ENDIF}
FErrors.Free;
end;
 
259,7 → 275,9
FIniFileName := AIniFileName;
FLoadedPlugins := TObjectList{<TUD2Plugin>}.Create(true);
FIniFile := TMemIniFile.Create(IniFileName);
{$IFDEF CHECK_FOR_SAME_PLUGIN_GUID}
FGUIDLookup := TStringList.Create;
{$ENDIF}
FErrors := TStringList.Create;
end;
 
407,7 → 425,7
inherited;
end;
 
procedure TUD2PluginLoader.HandleDLL;
function TUD2PluginLoader.HandleDLL: boolean;
var
sIdentifier: WideString;
sIdentifiers: TArrayOfString;
417,7 → 435,7
sOverrideGUID: string;
pluginIDfound: boolean;
pluginInterfaceID: TGUID;
dllHandle: cardinal;
dllHandle: Cardinal;
fPluginInterfaceID: TFuncPluginInterfaceID;
fPluginIdentifier: TFuncPluginIdentifier;
fPluginNameW: TFuncPluginNameW;
426,10 → 444,24
fIdentificationMethodNameW: TFuncIdentificationMethodNameW;
fIdentificationStringW: TFuncIdentificationStringW;
fCheckLicense: TFuncCheckLicense;
fDescribeOwnStatusCodeW: TFuncDescribeOwnStatusCodeW;
statusCode: UD2_STATUS;
i: integer;
starttime, endtime, time: cardinal;
loadSuccessful: boolean;
 
function _ErrorLookup(statusCode: UD2_STATUS): WideString;
var
ret: BOOL;
begin
ret := fDescribeOwnStatusCodeW(@buf, cchBufferSize, statusCode, lngID);
if ret then
begin
result := PWideChar(@buf);
Exit;
end;
result := TUD2.GenericErrorLookup(statusCode);
end;
 
resourcestring
LNG_DLL_NOT_LOADED = 'Plugin DLL "%s" could not be loaded.';
LNG_METHOD_NOT_FOUND = 'Method "%s" not found in plugin "%s". The DLL is probably not a valid plugin DLL.';
436,7 → 468,7
LNG_INVALID_PLUGIN = 'The plugin "%s" is not a valid plugin for this program version.';
LNG_METHOD_FAILURE = 'Error "%s" at method "%s" of plugin "%s".';
begin
loadSuccessful := false;
result := false;
startTime := GetTickCount;
 
dllHandle := LoadLibrary(PChar(dllFile));
500,6 → 532,13
Exit;
end;
 
@fDescribeOwnStatusCodeW := GetProcAddress(dllHandle, mnDescribeOwnStatusCodeW);
if not Assigned(fDescribeOwnStatusCodeW) then
begin
Errors.Add(Format(LNG_METHOD_NOT_FOUND, [mnDescribeOwnStatusCodeW, dllFile]));
Exit;
end;
 
pl := TUD2Plugin.Create;
pl.PluginDLL := dllFile;
 
534,7 → 573,7
statusCode := fCheckLicense(nil);
if UD2_STATUS_Failed(statusCode) then
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnCheckLicense, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnCheckLicense, dllFile]));
Exit;
end;
 
543,7 → 582,7
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginName := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnPluginNameW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginNameW, dllFile]));
Exit;
end;
 
552,7 → 591,7
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginVendor := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnPluginVendorW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginVendorW, dllFile]));
Exit;
end;
 
561,7 → 600,7
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginVersion := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnPluginVersionW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginVersionW, dllFile]));
Exit;
end;
 
570,17 → 609,19
else if UD2_STATUS_NotAvail(statusCode) then pl.IdentificationMethodName := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnIdentificationMethodNameW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnIdentificationMethodNameW, dllFile]));
Exit;
end;
 
statusCode := fIdentificationStringW(@buf, cchBufferSize);
pl.IdentificationProcedureStatusCode := statusCode;
pl.IdentificationProcedureStatusCodeDescribed := _ErrorLookup(statusCode);
if UD2_STATUS_Successful(statusCode) then
begin
sIdentifier := PWideChar(@buf);
if statusCode = UD2_STATUS_OK_MULTILINE then
begin
// Multiple identifiers (e.g. multiple MAC addresses are delimited via #10 )
// Multiple identifiers (e.g. multiple MAC addresses are delimited via UD2_MULTIPLE_ITEMS_DELIMITER)
SetLength(sIdentifiers, 0);
sIdentifiers := SplitString(UD2_MULTIPLE_ITEMS_DELIMITER, sIdentifier);
for i := Low(sIdentifiers) to High(sIdentifiers) do
595,7 → 636,8
end
else if not UD2_STATUS_NotAvail(statusCode) then
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [UD2_ErrorLookup(statusCode), mnIdentificationStringW, dllFile]));
// Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnIdentificationStringW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [pl.IdentificationProcedureStatusCodeDescribed, mnIdentificationStringW, dllFile]));
Exit;
end;
 
604,9 → 646,9
if endtime < starttime then time := High(Cardinal) - time;
pl.time := time;
 
loadSuccessful := true;
result := true;
finally
if not loadSuccessful and Assigned(pl) then FreeAndNil(pl);
if not result and Assigned(pl) then FreeAndNil(pl);
FreeLibrary(dllHandle);
end;
end;
/trunk/UserDetect2/UserDetect2.ini
1,15 → 1,15
[MyJob1]
ShutdownAfterExecution=true
Icon=%SystemRoot%\system32\shell32.dll,4
Description=Notepad
; Example Identifier Plugin
Example:Hello world=notepad
[BackupWithoutShutdown]
Description=[Example] Backup without shutdown
; Home computer of John and Bob
SID:S-1-5-21-3669290038-3293053376-393244323-1000=backup/john/run_without_shutdown.bat
SID:S-1-5-21-3669290038-3293053376-393244323-1001=backup/bob/run_without_shutdown.bat
; Laptop of Alice
SID:S-1-5-21-2340904833-1289345987-323409311-1000=backup/alice/run_without_shutdown.bat
 
[MyJob2]
Description=Calc
WarnIfNothingMatches=true
Example:Hello world=calc.exe
 
[Mega]
Description=Kuchenbombe
SID:S-1-5-21-3669290038-3293053376-393244323-1000=$RIOD$test\a.bat
[BackupWithShutdown]
Description=[Example] Backup with shutdown
; Home computer of John and Bob
SID:S-1-5-21-3669290038-3293053376-393244323-1000=backup/john/run_with_shutdown.bat
SID:S-1-5-21-3669290038-3293053376-393244323-1001=backup/bob/run_with_shutdown.bat
; Laptop of Alice
SID:S-1-5-21-2340904833-1289345987-323409311-1000=backup/alice/run_with_shutdown.bat
/trunk/UserDetect2/UserDetect2.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/UD2_PluginIntf.pas
21,6 → 21,7
mnCheckLicense = 'CheckLicense';
mnIdentificationMethodNameW = 'IdentificationMethodNameW';
mnIdentificationStringW = 'IdentificationStringW';
mnDescribeOwnStatusCodeW = 'DescribeOwnStatusCodeW';
 
{$IF not Declared(LPVOID)}
type
76,6 → 77,7
TFuncCheckLicense = function(lpReserved: LPVOID): UD2_STATUS; cdecl;
TFuncIdentificationMethodNameW = function(lpIdentificationMethodName: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl;
TFuncIdentificationStringW = function(lpIdentifier: LPWSTR; cchSize: DWORD): UD2_STATUS; cdecl;
TFuncDescribeOwnStatusCodeW = function(lpErrorDescription: LPWSTR; cchSize: DWORD; statusCode: UD2_STATUS; wLangID: LANGID): BOOL; cdecl;
 
const
UD2_MULTIPLE_ITEMS_DELIMITER = #10;
/trunk/UserDetect2/UserDetect2.dpr
7,10 → 7,7
UD2_PluginIntf in 'UD2_PluginIntf.pas',
UD2_PluginUtils in 'UD2_PluginUtils.pas',
UD2_Obj in 'UD2_Obj.pas',
UD2_Utils in 'UD2_Utils.pas',
VTSCompat in 'vcl\VTSCompat.pas',
AlphaNumSort in 'vcl\AlphaNumSort.pas',
PatchU in 'vcl\PatchU.pas';
UD2_Utils in 'UD2_Utils.pas';
 
{$R WindowsXP.res}