Subversion Repositories delphiutils

Compare Revisions

Regard whitespace Rev 70 → Rev 71

/trunk/UserDetect2/Compat.txt
File deleted
/trunk/UserDetect2/UserDetect2.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/UD2_PluginUtils.pas
7,7 → 7,7
{$IFEND}
 
uses
Windows, Classes, UD2_PluginIntf;
Windows, Classes, UD2_PluginIntf, UD2_PluginStatus;
 
function UD2_WritePascalStringToPointerW(lpDestination: LPWSTR; cchSize: DWORD;
stSource: WideString): UD2_STATUS;
45,7 → 45,7
begin
if cchSize = 0 then
begin
result := UD2_STATUS_ERROR_INVALID_ARGS;
result := UD2_STATUS_FAILURE_INVALID_ARGS;
Exit;
end;
 
58,7 → 58,7
lpDestination[cchCopy] := #0;
 
if cchSource >= cchSize then
result := UD2_STATUS_ERROR_BUFFER_TOO_SMALL
result := UD2_STATUS_FAILURE_BUFFER_TOO_SMALL
else if stSource = '' then
result := UD2_STATUS_NOTAVAIL_UNSPECIFIED
else if UD2_IsMultiLineW(stSource) then
/trunk/UserDetect2/UD2_PluginIntf.pas
7,7 → 7,7
{$IFEND}
 
uses
Windows, SysUtils;
Windows, SysUtils, UD2_PluginStatus;
 
const
GUID_USERDETECT2_IDPLUGIN_V1: TGUID = '{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}';
29,46 → 29,6
{$IFEND}
 
type
UD2_STATUS = DWORD;
UD2_STATUSCAT = $0..$F;
UD2_STATUSAUTH = $000..$FFF;
UD2_STATUSMSG = $0000..$FFFF;
 
const
UD2_STATUSCAT_SUCCESS : UD2_STATUSCAT = $8;
UD2_STATUSCAT_NOT_AVAIL : UD2_STATUSCAT = $9;
UD2_STATUSCAT_ERROR : UD2_STATUSCAT = $A;
 
UD2_STATUSAUTH_GENERIC : UD2_STATUSAUTH = $100;
 
UD2_STATUS_OK_UNSPECIFIED : UD2_STATUS = $81000000;
UD2_STATUS_OK_SINGLELINE : UD2_STATUS = $81000001;
UD2_STATUS_OK_MULTILINE : UD2_STATUS = $81000002;
UD2_STATUS_OK_LICENSED : UD2_STATUS = $81000003;
 
UD2_STATUS_NOTAVAIL_UNSPECIFIED : UD2_STATUS = $91000000;
UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED : UD2_STATUS = $91000001;
UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED : UD2_STATUS = $91000002;
UD2_STATUS_NOTAVAIL_NO_ENTITIES : UD2_STATUS = $91000003;
UD2_STATUS_NOTAVAIL_API_CALL_FAILURE : UD2_STATUS = $91000004;
 
UD2_STATUS_ERROR_UNSPECIFIED : UD2_STATUS = $A1000000;
UD2_STATUS_ERROR_BUFFER_TOO_SMALL : UD2_STATUS = $A1000001;
UD2_STATUS_ERROR_INVALID_ARGS : UD2_STATUS = $A1000002;
UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED : UD2_STATUS = $A1000003;
 
function UD2_STATUS_Construct(cat: UD2_STATUSCAT;
auth: UD2_STATUSAUTH; msg: UD2_STATUSMSG): UD2_STATUS;
function UD2_STATUS_GetCategory(dwStatus: UD2_STATUS): UD2_STATUSCAT;
function UD2_STATUS_GetAuthority(dwStatus: UD2_STATUS): UD2_STATUSAUTH;
function UD2_STATUS_GetMessage(dwStatus: UD2_STATUS): UD2_STATUSMSG;
function UD2_STATUS_Successful(dwStatus: UD2_STATUS): boolean;
function UD2_STATUS_NotAvail(dwStatus: UD2_STATUS): boolean;
function UD2_STATUS_Failed(dwStatus: UD2_STATUS): boolean;
function UD2_STATUS_FormatStatusCode(dwStatus: UD2_STATUS): string;
function UD2_STATUS_IsSpecific(dwStatus: UD2_STATUS): boolean;
 
type
TFuncPluginInterfaceID = function(): TGUID; cdecl;
TFuncPluginIdentifier = function(): TGUID; cdecl;
TFuncPluginNameW = function(lpPluginName: LPWSTR; cchSize: DWORD; wLangID: LANGID): UD2_STATUS; cdecl;
86,54 → 46,6
 
implementation
 
function UD2_STATUS_Construct(cat: UD2_STATUSCAT;
auth: UD2_STATUSAUTH; msg: UD2_STATUSMSG): UD2_STATUS;
begin
result := (cat shl 28) + (auth shl 16) + msg;
end;
 
function UD2_STATUS_GetCategory(dwStatus: UD2_STATUS): UD2_STATUSCAT;
begin
result := (dwStatus and $F0000000) shr 28;
end;
 
function UD2_STATUS_GetAuthority(dwStatus: UD2_STATUS): UD2_STATUSAUTH;
begin
result := (dwStatus and $0FFF0000) shr 16;
end;
 
function UD2_STATUS_GetMessage(dwStatus: UD2_STATUS): UD2_STATUSMSG;
begin
result := dwStatus and $0000FFFF;
end;
 
function UD2_STATUS_Successful(dwStatus: UD2_STATUS): boolean;
begin
result := UD2_STATUS_GetCategory(dwStatus) = UD2_STATUSCAT_SUCCESS;
end;
 
function UD2_STATUS_NotAvail(dwStatus: UD2_STATUS): boolean;
begin
result := UD2_STATUS_GetCategory(dwStatus) = UD2_STATUSCAT_NOT_AVAIL;
end;
 
function UD2_STATUS_Failed(dwStatus: UD2_STATUS): boolean;
begin
result := UD2_STATUS_GetCategory(dwStatus) = UD2_STATUSCAT_ERROR;
end;
 
function UD2_STATUS_FormatStatusCode(dwStatus: UD2_STATUS): string;
begin
result := IntToHex(UD2_STATUS_GetCategory(dwStatus), 1) + ' ' +
IntToHex(UD2_STATUS_GetAuthority(dwStatus), 3) + ' ' +
IntToHex(UD2_STATUS_GetMessage(dwStatus), 4);
end;
 
function UD2_STATUS_IsSpecific(dwStatus: UD2_STATUS): boolean;
begin
result := (dwStatus and $0000FFFF) <> 0;
end;
 
function PluginInterfaceID: TGUID; cdecl;
begin
result := GUID_USERDETECT2_IDPLUGIN_V1;
/trunk/UserDetect2/UserDetect2.dpr
7,7 → 7,8
UD2_PluginIntf in 'UD2_PluginIntf.pas',
UD2_PluginUtils in 'UD2_PluginUtils.pas',
UD2_Obj in 'UD2_Obj.pas',
UD2_Utils in 'UD2_Utils.pas';
UD2_Utils in 'UD2_Utils.pas',
UD2_PluginStatus in 'UD2_PluginStatus.pas';
 
{$R WindowsXP.res}
 
/trunk/UserDetect2/Plugins/GatewayIP.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/LAN_MAC.dpr
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
36,7 → 37,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
 
/trunk/UserDetect2/Plugins/GatewayIP.dpr
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
33,7 → 34,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
/trunk/UserDetect2/Plugins/DHCP_IP.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/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
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
33,7 → 34,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
/trunk/UserDetect2/Plugins/NetworkUtils.pas
30,7 → 30,7
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
if Result <> ERROR_BUFFER_OVERFLOW then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
61,7 → 61,7
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
if Result <> ERROR_BUFFER_OVERFLOW then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
92,7 → 92,7
begin
BufLen := SizeOf(IP_ADAPTER_INFO);
Result := GetAdaptersInfo(nil, @BufLen);
if Result <> ERROR_SUCCESS then Exit;
if Result <> ERROR_BUFFER_OVERFLOW then Exit;
pAdapterInfo := AllocMem(BufLen);
try
Result := GetAdaptersInfo(pAdapterInfo, @BufLen);
/trunk/UserDetect2/Plugins/GatewayMAC.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/ExecuteAlways.dll
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/UserDetect2/Plugins/UserSID.dpr
6,7 → 6,8
Classes,
SPgetsid,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas';
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas';
 
{$R *.res}
 
/trunk/UserDetect2/Plugins/GatewayMAC.dpr
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
36,7 → 37,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
 
/trunk/UserDetect2/Plugins/ExecuteAlways.dpr
5,7 → 5,8
SysUtils,
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas';
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas';
 
{$R *.res}
 
/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/DHCP_MAC.dpr
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
36,7 → 37,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
 
/trunk/UserDetect2/Plugins/ComputerName.dpr
5,7 → 5,8
SysUtils,
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas';
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas';
 
{$R *.res}
 
/trunk/UserDetect2/Plugins/LAN_IP.dpr
6,6 → 6,7
Classes,
UD2_PluginIntf in '..\UD2_PluginIntf.pas',
UD2_PluginUtils in '..\UD2_PluginUtils.pas',
UD2_PluginStatus in '..\UD2_PluginStatus.pas',
NetworkUtils in 'NetworkUtils.pas';
 
{$R *.res}
33,7 → 34,7
end
else if ec <> ERROR_SUCCESS then
begin
result := UD2_STATUS_NOTAVAIL_API_CALL_FAILURE;
result := UD2_STATUS_OSError(ec);
Exit;
end;
result := UD2_WriteStringListToPointerW(lpIdentifier, cchSize, sl);
/trunk/UserDetect2/devcpp_plugins/ud2_api.h
5,11 → 5,10
 
const char UD2_MULTIPLE_ITEMS_DELIMITER = 0x10;
 
#include "ud2_guid.h"
#include "ud2_status.h"
#include "ud2_utils.h"
 
#define GUID_USERDETECT2_IDPLUGIN_V1 __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}")
 
#ifdef BUILDING_DLL
#define UD2_API extern "C" __cdecl __declspec(dllexport)
#else
25,6 → 24,7
UD2_API UD2_STATUS IdentificationStringW(LPWSTR lpIdentifier, DWORD cchSize);
UD2_API BOOL DescribeOwnStatusCodeW(LPWSTR lpErrorDescription, DWORD cchSize, UD2_STATUS statusCode, LANGID wLangID);
 
const GUID GUID_USERDETECT2_IDPLUGIN_V1 = __GUID("{6C26245E-F79A-416C-8C73-BEA3EC18BB6E}");
#ifdef BUILDING_DLL
UD2_API GUID PluginInterfaceID() {
return GUID_USERDETECT2_IDPLUGIN_V1;
/trunk/UserDetect2/devcpp_plugins/ud2_utils.h
2,60 → 2,9
#define _UD2_UTILS_H_
 
#include <windows.h>
#include <assert.h>
 
#include "ud2_api.h"
 
// #define USE_OLE32
 
#ifdef USE_OLE32
#pragma comment(linker, "-lOle32")
#define __GUID(x) _StringToGUID(L ## x)
const GUID _StringToGUID(LPCWSTR lpcstrGUID) {
GUID guid;
assert(SUCCEEDED(CLSIDFromString(lpcstrGUID, &guid)));
return guid;
}
#else
#define __GUID(x) _StringToGUID(x)
const bool StringToGUID(const char* szGUID, GUID* g) {
// Check if string is a valid GUID
if (strlen(szGUID) != 38) return false;
for (int i=0; i<strlen(szGUID); ++i) {
char g = szGUID[i];
if (i == 0) {
if (g != '{') return false;
} else if (i == 37) {
if (g != '}') return false;
} else if ((i == 9) || (i == 14) || (i == 19) || (i == 24)) {
if (g != '-') return false;
} else {
if (!((g >= '0') && (g <= '9')) && !((g >= 'A') && (g <= 'F')) && !((g >= 'a') && (g <= 'f'))) {
return false;
}
}
}
char* pEnd;
g->Data1 = strtol(szGUID+1,&pEnd,16);
g->Data2 = strtol(szGUID+10,&pEnd,16);
g->Data3 = strtol(szGUID+15,&pEnd,16);
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<6; ++i) {
memcpy(&b[0], szGUID+25+i*2, 2*sizeof(b[0])); g->Data4[2+i] = strtol(&b[0], &pEnd, 16);
}
return true;
}
const GUID _StringToGUID(const char* szGUID) {
GUID g;
assert(StringToGUID(szGUID, &g));
return g;
}
#endif
 
BOOL UD2_IsMultilineW(LPCWSTR lpSrc) {
return wcschr(lpSrc, UD2_MULTIPLE_ITEMS_DELIMITER) != NULL;
// return wcspbrk(lpSrc, L"\r\n") != NULL;
62,7 → 11,7
}
 
UD2_STATUS UD2_WriteStrW(LPWSTR lpDest, DWORD cchDestSize, LPCWSTR lpSrc) {
if (wcslen(lpSrc) > cchDestSize-1) return UD2_STATUS_ERROR_BUFFER_TOO_SMALL;
if (wcslen(lpSrc) > cchDestSize-1) return UD2_STATUS_FAILURE_BUFFER_TOO_SMALL;
wcscpy(lpDest, lpSrc);
if (wcslen(lpSrc) == 0) return UD2_STATUS_NOTAVAIL_UNSPECIFIED;
if (UD2_IsMultilineW(lpSrc)) return UD2_STATUS_OK_MULTILINE;
/trunk/UserDetect2/devcpp_plugins/ud2_status.h
3,70 → 3,79
 
#include <stdio.h>
 
typedef DWORD UD2_STATUS;
typedef BYTE UD2_STATUSCAT; // 0x0..0xF; only 1 nibble!
typedef WORD UD2_STATUSAUTH; // 0x000..0xFFF; only 3 nibbles!
typedef WORD UD2_STATUSMSG;
#include "ud2_api.h"
 
const UD2_STATUSCAT UD2_STATUSCAT_SUCCESS = 0x8;
const UD2_STATUSCAT UD2_STATUSCAT_NOT_AVAIL = 0x9;
const UD2_STATUSCAT UD2_STATUSCAT_ERROR = 0xA;
typedef WORD UD2_STATUSCAT;
typedef GUID UD2_STATUSAUTH;
typedef DWORD UD2_STATUSMSG;
typedef DWORD UD2_STATUSEXTRAINFO;
 
const UD2_STATUSAUTH UD2_STATUSAUTH_GENERIC = 0x100;
#pragma pack(push, 1) // no alignment
typedef struct _UD2_STATUS {
BYTE cbSize;
BYTE bReserved;
UD2_STATUSCAT wCategory;
UD2_STATUSAUTH grAuthority;
UD2_STATUSMSG dwMessage;
UD2_STATUSEXTRAINFO dwExtraInfo;
} UD2_STATUS;
#pragma pack(pop) // restore previous pack value
 
const UD2_STATUS UD2_STATUS_OK_UNSPECIFIED = 0x81000000;
const UD2_STATUS UD2_STATUS_OK_SINGLELINE = 0x81000001;
const UD2_STATUS UD2_STATUS_OK_MULTILINE = 0x81000002;
const UD2_STATUS UD2_STATUS_OK_LICENSED = 0x81000003;
const UD2_STATUSCAT UD2_STATUSCAT_SUCCESS = 0;
const UD2_STATUSCAT UD2_STATUSCAT_NOT_AVAIL = 1;
const UD2_STATUSCAT UD2_STATUSCAT_FAILED = 2;
 
const UD2_STATUS UD2_STATUS_NOTAVAIL_UNSPECIFIED = 0x91000000;
const UD2_STATUS UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED = 0x91000001;
const UD2_STATUS UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED = 0x91000002;
const UD2_STATUS UD2_STATUS_NOTAVAIL_NO_ENTITIES = 0x91000003;
const UD2_STATUS UD2_STATUS_NOTAVAIL_API_CALL_FAILURE = 0x91000004;
const UD2_STATUSAUTH UD2_STATUSAUTH_GENERIC = __GUID("{90F53368-1EFB-4350-A6BC-725C69938B9C}");
 
const UD2_STATUS UD2_STATUS_ERROR_UNSPECIFIED = 0xA1000000;
const UD2_STATUS UD2_STATUS_ERROR_BUFFER_TOO_SMALL = 0xA1000001;
const UD2_STATUS UD2_STATUS_ERROR_INVALID_ARGS = 0xA1000002;
const UD2_STATUS UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED = 0xA1000003;
const UD2_STATUS UD2_STATUS_OK_UNSPECIFIED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_SUCCESS, UD2_STATUSAUTH_GENERIC, 0, 0 };
const UD2_STATUS UD2_STATUS_OK_SINGLELINE = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_SUCCESS, UD2_STATUSAUTH_GENERIC, 1, 0 };
const UD2_STATUS UD2_STATUS_OK_MULTILINE = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_SUCCESS, UD2_STATUSAUTH_GENERIC, 2, 0 };
const UD2_STATUS UD2_STATUS_OK_LICENSED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_SUCCESS, UD2_STATUSAUTH_GENERIC, 3, 0 };
 
UD2_STATUS UD2_STATUS_Construct(UD2_STATUSCAT cat, UD2_STATUSAUTH auth, UD2_STATUSMSG msg) {
return (cat << 28) + (auth << 16) + msg;
}
const UD2_STATUS UD2_STATUS_NOTAVAIL_UNSPECIFIED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_NOT_AVAIL, UD2_STATUSAUTH_GENERIC, 0, 0 };
const UD2_STATUS UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_NOT_AVAIL, UD2_STATUSAUTH_GENERIC, 1, 0 };
const UD2_STATUS UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_NOT_AVAIL, UD2_STATUSAUTH_GENERIC, 2, 0 };
const UD2_STATUS UD2_STATUS_NOTAVAIL_NO_ENTITIES = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_NOT_AVAIL, UD2_STATUSAUTH_GENERIC, 3, 0 };
const UD2_STATUS UD2_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_NOT_AVAIL, UD2_STATUSAUTH_GENERIC, 4, 0 };
 
UD2_STATUSCAT UD2_STATUS_GetCategory(UD2_STATUS dwStatus) {
return (dwStatus & 0xF0000000) >> 28;
}
const UD2_STATUS UD2_STATUS_FAILURE_UNSPECIFIED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_FAILED, UD2_STATUSAUTH_GENERIC, 0, 0 };
const UD2_STATUS UD2_STATUS_FAILURE_BUFFER_TOO_SMALL = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_FAILED, UD2_STATUSAUTH_GENERIC, 1, 0 };
const UD2_STATUS UD2_STATUS_FAILURE_INVALID_ARGS = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_FAILED, UD2_STATUSAUTH_GENERIC, 2, 0 };
const UD2_STATUS UD2_STATUS_FAILURE_PLUGIN_NOT_LICENSED = { sizeof(UD2_STATUS), 0, UD2_STATUSCAT_FAILED, UD2_STATUSAUTH_GENERIC, 3, 0 };
 
UD2_STATUSAUTH UD2_STATUS_GetAuthority(UD2_STATUS dwStatus) {
return (dwStatus & 0x0FFF0000) >> 16;
int UD2_STATUS_FormatStatusCode(char* szStr, size_t cchLen, UD2_STATUS grStatus) {
// 00 0000 {44332211-1234-ABCD-EFEF-001122334455} 00000000 00000000
if (cchLen < 73) szStr = NULL; // incl. null-terminator
return sprintf(szStr, "%02x %04x {%08lX-%04hX-%04hX-%02hhX%02hhX-%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX} %08x %08x",
grStatus.bReserved,
grStatus.wCategory,
grStatus.grAuthority,
grStatus.grAuthority.Data1, grStatus.grAuthority.Data2, grStatus.grAuthority.Data3,
grStatus.grAuthority.Data4[0], grStatus.grAuthority.Data4[1], grStatus.grAuthority.Data4[2], grStatus.grAuthority.Data4[3],
grStatus.grAuthority.Data4[4], grStatus.grAuthority.Data4[5], grStatus.grAuthority.Data4[6], grStatus.grAuthority.Data4[7],
grStatus.dwMessage,
grStatus.dwExtraInfo);
}
 
UD2_STATUSMSG UD2_STATUS_GetMessage(UD2_STATUS dwStatus) {
return dwStatus & 0x0000FFFF;
}
bool UD2_STATUS_Equal(UD2_STATUS grStatus1, UD2_STATUS grStatus2, bool compareExtraInfo) {
return (grStatus1.bReserved == grStatus2.bReserved) &&
(grStatus1.wCategory == grStatus2.wCategory) &&
IsEqualGUID(grStatus1.grAuthority, grStatus2.grAuthority) &&
(grStatus1.dwMessage == grStatus2.dwMessage);
 
BOOL UD2_STATUS_Successful(UD2_STATUS dwStatus) {
return UD2_STATUS_GetCategory(dwStatus) == UD2_STATUSCAT_SUCCESS;
if (compareExtraInfo && (grStatus1.dwExtraInfo != grStatus2.dwExtraInfo)) return false;
}
 
BOOL UD2_STATUS_NotAvail(UD2_STATUS dwStatus) {
return UD2_STATUS_GetCategory(dwStatus) == UD2_STATUSCAT_NOT_AVAIL;
#ifdef __cplusplus
bool operator==(const UD2_STATUS& lhs, const UD2_STATUS& rhs) {
return UD2_STATUS_Equal(lhs, rhs, true);
}
#endif
 
BOOL UD2_STATUS_Failed(UD2_STATUS dwStatus) {
return UD2_STATUS_GetCategory(dwStatus) == UD2_STATUSCAT_ERROR;
UD2_STATUS UD2_STATUS_OSError(DWORD dwOSError) {
UD2_STATUS ret = UD2_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE;
ret.dwExtraInfo = dwOSError;
return ret;
}
 
int UD2_STATUS_FormatStatusCode(char* szStr, size_t cchLen, UD2_STATUS dwStatus) {
if (cchLen < 11) szStr = NULL;
return sprintf(szStr, "%01x %03x %04x", UD2_STATUS_GetCategory(dwStatus),
UD2_STATUS_GetAuthority(dwStatus),
UD2_STATUS_GetMessage(dwStatus));
}
 
BOOL UD2_STATUS_IsSpecific(UD2_STATUS dwStatus) {
return (dwStatus & 0x0000FFFF) != 0;
}
 
#endif
/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,28
[Editor_0]
CursorCol=51
CursorRow=11
CursorCol=1
CursorRow=1
TopLine=1
LeftChar=1
[Editor_1]
CursorCol=40
CursorRow=11
TopLine=1
CursorCol=36
CursorRow=21
TopLine=11
LeftChar=1
[Editors]
Order=0,1,2,3
Focused=0
Order=3
Focused=3
[Editor_2]
CursorCol=1
CursorRow=9
CursorCol=21
CursorRow=6
TopLine=1
LeftChar=1
[Editor_3]
CursorCol=30
CursorRow=11
TopLine=43
CursorCol=34
CursorRow=63
TopLine=57
LeftChar=1
[Editor_4]
CursorCol=1
CursorRow=5
TopLine=1
LeftChar=1
/trunk/UserDetect2/devcpp_plugins/ExamplePlugin.dev
29,7 → 29,7
SupportXPThemes=0
CompilerSet=3
CompilerSettings=0000000100000000000000000
UnitCount=4
UnitCount=5
 
[VersionInfo]
Major=1
90,3 → 90,13
OverrideBuildCmd=0
BuildCmd=
 
[Unit5]
FileName=ud2_guid.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
 
/trunk/UserDetect2/devcpp_plugins/ud2_guid.h
0,0 → 1,57
#ifndef _UD2_GUID_H_
#define _UD2_GUID_H_
 
#include <assert.h>
 
// #define USE_OLE32
 
#ifdef USE_OLE32
#pragma comment(linker, "-lOle32")
#define __GUID(x) _StringToGUID(L ## x)
const GUID _StringToGUID(LPCWSTR lpcstrGUID) {
GUID guid;
assert(SUCCEEDED(CLSIDFromString(lpcstrGUID, &guid)));
return guid;
}
#else
#define __GUID(x) _StringToGUID(x)
const bool StringToGUID(const char* szGUID, GUID* g) {
// Check if string is a valid GUID
if (strlen(szGUID) != 38) return false;
for (int i=0; i<strlen(szGUID); ++i) {
char g = szGUID[i];
if (i == 0) {
if (g != '{') return false;
} else if (i == 37) {
if (g != '}') return false;
} else if ((i == 9) || (i == 14) || (i == 19) || (i == 24)) {
if (g != '-') return false;
} else {
if (!((g >= '0') && (g <= '9')) && !((g >= 'A') && (g <= 'F')) && !((g >= 'a') && (g <= 'f'))) {
return false;
}
}
}
char* pEnd;
g->Data1 = strtoul(szGUID+1,&pEnd,16);
g->Data2 = strtoul(szGUID+10,&pEnd,16);
g->Data3 = strtoul(szGUID+15,&pEnd,16);
char b[3]; b[2] = 0;
memcpy(&b[0], szGUID+20, 2*sizeof(b[0])); g->Data4[0] = strtoul(&b[0], &pEnd, 16);
memcpy(&b[0], szGUID+22, 2*sizeof(b[0])); g->Data4[1] = strtoul(&b[0], &pEnd, 16);
for (int i=0; i<6; ++i) {
memcpy(&b[0], szGUID+25+i*2, 2*sizeof(b[0])); g->Data4[2+i] = strtoul(&b[0], &pEnd, 16);
}
return true;
}
const GUID _StringToGUID(const char* szGUID) {
GUID g;
assert(StringToGUID(szGUID, &g));
return g;
}
#endif
 
#endif
 
/trunk/UserDetect2/UD2_Utils.pas
31,6 → 31,7
function SplitIconString(IconString: string): TIconFileIdx;
// function GetHTML(AUrl: string): string;
procedure VTS_CheckUpdates(VTSID, CurVer: string);
function FormatOSError(ec: DWORD): string;
 
implementation
 
136,12 → 137,19
@Result[1],length(Result)));
end;
 
procedure CheckLastOSCall(AThrowException: boolean);
function FormatOSError(ec: DWORD): string;
resourcestring
LNG_UNKNOWN_ERROR = 'Operating system error %d';
begin
result := SysErrorMessage(ec);
 
// Some errors have no error message, e.g. error 193 (BAD_EXE_FORMAT) in the German version of Windows 10
if result = '' then result := Format(LNG_UNKNOWN_ERROR, [ec]);
end;
 
procedure CheckLastOSCall(AThrowException: boolean);
var
LastError: Cardinal;
sError: string;
begin
LastError := GetLastError;
if LastError <> 0 then
152,12 → 160,7
end
else
begin
sError := SysErrorMessage(LastError);
 
// Some errors have no error message, e.g. error 193 (BAD_EXE_FORMAT) in the German version of Windows 10
if sError = '' then sError := Format(LNG_UNKNOWN_ERROR, [LastError]);
 
MessageDlg(sError, mtError, [mbOK], 0);
MessageDlg(FormatOSError(LastError), mtError, [mbOK], 0);
end;
end;
end;
/trunk/UserDetect2/UD2_PluginStatus.pas
0,0 → 1,179
unit UD2_PluginStatus;
 
interface
 
uses
Windows, SysUtils;
 
type
UD2_STATUSCAT = WORD;
UD2_STATUSAUTH = TGUID;
UD2_STATUSMSG = DWORD;
UD2_STATUSEXTRAINFO = DWORD;
 
UD2_STATUS = packed record
cbSize: BYTE;
bReserved: BYTE;
wCategory: UD2_STATUSCAT;
grAuthority: UD2_STATUSAUTH;
dwMessage: UD2_STATUSMSG;
dwExtraInfo: UD2_STATUSEXTRAINFO;
end;
 
const
// Note: we need to declare non-typed constants first, because we cannot use
// typed constants in constant records.
// http://stackoverflow.com/questions/2714365/delphi-all-constants-are-constant-but-some-are-more-constant-than-others
UD2_STATUSAUTH_GENERIC_ = '{90F53368-1EFB-4350-A6BC-725C69938B9C}';
UD2_STATUSAUTH_GENERIC : UD2_STATUSAUTH = UD2_STATUSAUTH_GENERIC_;
 
UD2_STATUSCAT_SUCCESS = 0;
UD2_STATUSCAT_NOT_AVAIL = 1;
UD2_STATUSCAT_FAILED = 2;
 
(* Success codes *)
 
UD2_STATUS_OK_UNSPECIFIED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_SUCCESS;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 0;
dwExtraInfo: 0
);
UD2_STATUS_OK_SINGLELINE: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_SUCCESS;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 1;
dwExtraInfo: 0
);
UD2_STATUS_OK_MULTILINE: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_SUCCESS;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 2;
dwExtraInfo: 0
);
UD2_STATUS_OK_LICENSED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_SUCCESS;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 3;
dwExtraInfo: 0
);
 
(* "Not available" codes *)
 
UD2_STATUS_NOTAVAIL_UNSPECIFIED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_NOT_AVAIL;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 0;
dwExtraInfo: 0
);
UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_NOT_AVAIL;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 1;
dwExtraInfo: 0
);
UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_NOT_AVAIL;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 2;
dwExtraInfo: 0
);
UD2_STATUS_NOTAVAIL_NO_ENTITIES: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_NOT_AVAIL;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 3;
dwExtraInfo: 0
);
UD2_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_NOT_AVAIL;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 4;
dwExtraInfo: 0
);
 
(* Failure codes *)
 
UD2_STATUS_FAILURE_UNSPECIFIED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_FAILED;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 0;
dwExtraInfo: 0
);
UD2_STATUS_FAILURE_BUFFER_TOO_SMALL: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_FAILED;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 1;
dwExtraInfo: 0
);
UD2_STATUS_FAILURE_INVALID_ARGS: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_FAILED;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 2;
dwExtraInfo: 0
);
UD2_STATUS_FAILURE_PLUGIN_NOT_LICENSED: UD2_STATUS = (
cbSize: SizeOf(UD2_STATUS);
bReserved: 0;
wCategory: UD2_STATUSCAT_FAILED;
grAuthority: UD2_STATUSAUTH_GENERIC_;
dwMessage: 3;
dwExtraInfo: 0
);
 
function UD2_STATUS_FormatStatusCode(grStatus: UD2_STATUS): string;
function UD2_STATUS_Equal(grStatus1, grStatus2: UD2_STATUS; compareExtraInfo: boolean): boolean;
function UD2_STATUS_OSError(OSError: DWORD): UD2_STATUS;
 
implementation
 
function UD2_STATUS_FormatStatusCode(grStatus: UD2_STATUS): string;
begin
// 00 0000 {44332211-1234-ABCD-EFEF-001122334455} 00000000 00000000
result := Format('%.2x %.4x %s %.8x %.8x', [
grStatus.bReserved,
grStatus.wCategory,
GUIDTostring(grStatus.grAuthority),
grStatus.dwMessage,
grStatus.dwExtraInfo]);
end;
 
function UD2_STATUS_Equal(grStatus1, grStatus2: UD2_STATUS; compareExtraInfo: boolean): boolean;
begin
result := (grStatus1.bReserved = grStatus2.bReserved) and
(grStatus1.wCategory = grStatus2.wCategory) and
IsEqualGUID(grStatus1.grAuthority, grStatus2.grAuthority) and
(grStatus1.dwMessage = grStatus2.dwMessage);
if compareExtraInfo and (grStatus1.dwExtraInfo <> grStatus2.dwExtraInfo) then result := false;
end;
 
function UD2_STATUS_OSError(OSError: DWORD): UD2_STATUS;
begin
result := UD2_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE;
result.dwExtraInfo := OSError;
end;
 
end.
/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;}{\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);}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f374\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f375\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f377\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f378\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f379\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f380\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f381\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f382\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f394\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f395\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
{\f397\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f398\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f399\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f400\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
{\f401\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f402\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f714\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f715\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f717\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f718\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f721\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f722\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\f734\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\f735\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\f737\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\f738\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}
{\f741\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\f742\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\f744\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f745\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\f747\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f748\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f751\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f752\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;}
46,13 → 46,14
\additive \rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \spriority9 \styrsid16262044 \'dcberschrift 2 Zchn;}{\*\cs17 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17
\sbasedon10 \sunhideused \styrsid9307250 Hyperlink;}{\s18\qc \li0\ri0\sb240\sa60\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0
\b\fs32\lang1031\langfe1031\kerning28\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1031\langfenp1031 \sbasedon0 \snext0 \slink19 \sqformat \spriority10 \styrsid5325168 Title;}{\*\cs19 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0
\b\fs32\kerning28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink18 \slocked \spriority10 \styrsid5325168 Titel Zchn;}}{\*\listtable{\list\listtemplateid-1858021260\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0
\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\b\fs32\kerning28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink18 \slocked \spriority10 \styrsid5325168 Titel Zchn;}{\s20\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025
\ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 \snext20 \sqformat \spriority1 \styrsid9132286 No Spacing;}}{\*\listtable{\list\listtemplateid-1858021260\listhybrid{\listlevel\levelnfc0\levelnfcn0
\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1
\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
\levelindent0{\leveltext\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567631\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\lin6480 }{\listname ;}\listid601692740}{\list\listtemplateid1211160680\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
72,7 → 73,7
\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0
\levelindent0{\leveltext\leveltemplateid67567631\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0
{\leveltext\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\lin6480 }{\listname ;}\listid1281301155}{\list\listtemplateid132298292\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\leveltemplateid67567643\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\lin6480 }{\listname ;}\listid1281301155}{\list\listtemplateid-145336956\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
80,18 → 81,26
\fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23
\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1377975272}{\list\listtemplateid816618932\listhybrid{\listlevel\levelnfc23
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1330524869}{\list\listtemplateid132298292\listhybrid{\listlevel\levelnfc23
\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0
\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}
\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0
\fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li5760\lin5760 }{\listlevel
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1468545555}
{\list\listtemplateid-1254869828\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fbias0
\fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
\fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }{\listname ;}\listid1377975272}
{\list\listtemplateid816618932\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720\lin720 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0
\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1
\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360
\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0
\fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0 \fi-360\li6480\lin6480 }
{\listname ;}\listid1468545555}{\list\listtemplateid-1254869828\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1
\af0 \ltrch\fcs0 \fbias0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
\fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567631\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
\fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567641\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
\fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67567643\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0
135,15 → 144,16
\leveltemplateid67567641\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext
\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\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
{\listoverride\listid2091078015\listoverridecount0\ls7}{\listoverride\listid1281301155\listoverridecount0\ls8}{\listoverride\listid1772311604\listoverridecount0\ls9}{\listoverride\listid1652171673\listoverridecount0\ls10}{\listoverride\listid1330524869
\listoverridecount0\ls11}}{\*\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\rsid1599487\rsid1647630\rsid1657439\rsid1730088\rsid1929326\rsid1966307\rsid1981563\rsid2388964\rsid2576803\rsid2753010\rsid2884605\rsid3022222\rsid3025658\rsid3028086\rsid3163531\rsid3285525\rsid3569955\rsid3622538\rsid3635325
\rsid3895034\rsid3943969\rsid3998625\rsid4476179\rsid4656946\rsid4871690\rsid5064448\rsid5114084\rsid5178738\rsid5325168\rsid5733712\rsid5793177\rsid5907818\rsid6372815\rsid6442210\rsid6511812\rsid6707673\rsid6709676\rsid6776079\rsid6896162\rsid6964071
\rsid7105396\rsid7146872\rsid7495966\rsid7814608\rsid8086032\rsid8269150\rsid8799422\rsid9121458\rsid9132286\rsid9180311\rsid9257259\rsid9258736\rsid9307250\rsid9318354\rsid9373535\rsid9388365\rsid9596859\rsid9704937\rsid9711883\rsid9838644\rsid10516537
\rsid10644118\rsid10766123\rsid10829644\rsid10842502\rsid11096861\rsid11404612\rsid11426136\rsid11541424\rsid11754596\rsid11930278\rsid12134973\rsid12146773\rsid12258161\rsid12390765\rsid12666715\rsid12719322\rsid12853255\rsid12933746\rsid13119319
\rsid13328561\rsid13381599\rsid13506709\rsid13852431\rsid13961185\rsid13966640\rsid13978329\rsid14159743\rsid14251116\rsid14488370\rsid14512558\rsid14576865\rsid14754795\rsid15078789\rsid15082545\rsid15082913\rsid15095912\rsid15153839\rsid15484970
\rsid15536699\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\dy3\hr8\min9}{\version103}{\edmins0}{\nofpages12}{\nofwords2713}{\nofchars17095}{\nofcharsws19769}{\vern57439}}{\*\xmlnstbl {\xmlns1 http://schemas.micro
soft.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\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 )}}
153,7 → 163,7
\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\insrsid10766123 \hich\af31506\dbch\af31505\loch\f31506 2}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13506709 \hich\af31506\dbch\af31505\loch\f31506 October }{
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9132286 \hich\af31506\dbch\af31505\loch\f31506 3 }{\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?
336,7 → 346,7
\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 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.}{
warning dialog will be shown if a task is called, but no application could be started, because no identification matches the current environment, or \hich\af31506\dbch\af31505\loch\f31506 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
350,9 → 360,8
\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 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:
 
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:
\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
484,7 → 493,7
\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
2c825dc485276300000000a5ab0001000000006500}}}{\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.
510,7 → 519,10
\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
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid16262044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid16262044 \hich\af31506\dbch\af31505\loch\f31506 UD2_PluginUtils.pas
\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}\hich\af31506\dbch\af31505\loch\f31506 UD2_PluginIntf.pas
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid1730088 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1730088
\hich\af31506\dbch\af31505\loch\f31506 UD2_PluginIntf.pas}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1730088\charrsid1730088
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid1730088 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls4\adjustright\rin0\lin720\itap0\pararsid1730088 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1730088 \hich\af31506\dbch\af31505\loch\f31506 UD2_PluginStatus.pas
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16262044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid5114084
\hich\af31506\dbch\af31505\loch\f31506 C}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid9180311 \hich\af31506\dbch\af31505\loch\f31506 header files}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid16262044\charrsid15484970 \hich\af31506\dbch\af31505\loch\f31506 :
517,10 → 529,12
\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}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid16262044 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 ud2_api}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid16262044 \hich\af31506\dbch\af31505\loch\f31506 .h
\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 (included via ud2_api.h)
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid1730088 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid1730088 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1730088 \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\insrsid1730088 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af31506\dbch\af31505\loch\f31506 ud2_guid.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}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls5\adjustright\rin0\lin720\itap0\pararsid16262044 {\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
540,21 → 554,21
\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 PluginVersionW(lpPluginVersion: 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
\hich\af2\dbch\af31505\loch\f2 PluginVersionW(lpPluginVersion: LPWSTR; cchSize: DWORD; wLangID:\hich\af2\dbch\af31505\loch\f2 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 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 ;
\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(\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
\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 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 ;
\hich\af2\dbch\af31505\loch\f2 IdentificationMethodNameW(lpIdentificationMethodName: LP\hich\af2\dbch\af31505\loch\f2 WSTR; 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 }{\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
574,11 → 588,11
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973\charrsid12134973 \hich\af2\dbch\af31505\loch\f2 PluginNameW(LPWSTR lpPluginName, 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 PluginVersionW(LPWSTR lpPluginVersion, 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 PluginVersionW(LPWSTR lpPluginVersion, DWORD cchSize, LANGID wLa
\hich\af2\dbch\af31505\loch\f2 ngID);
\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 Plu\hich\af2\dbch\af31505\loch\f2
ginVendorW(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 PluginVendorW(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);
586,9 → 600,9
\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 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 IdentificationStringW(L\hich\af2\dbch\af31505\loch\f2 PWSTR lpIdentifier, DWORD cchSize);}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12134973
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13381599 \hich\af2\dbch\af31505\loch\f2 UD2_S\hich\af2\dbch\af31505\loch\f2 TATUS}{\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
IdentificationStringW(LPWSTR 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
608,23 → 622,23
\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-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
\hich\af31506\dbch\af31505\loch\f31506 , which }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid288678 \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506
is a null-terminated C-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>}{\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).
would be performed (calc.ex\hich\af31506\dbch\af31505\loch\f31506 e will be called).
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid13978329\charrsid11096861 \hich\af31506\dbch\af31505\loch\f31506 Annotations:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1031\langnp1033\insrsid9121458\charrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 1.\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid13978329 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458\charrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 Empty string = no
\hich\af31506\dbch\af31505\loch\f31506 identification could be performed, e.g. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls2\adjustright\rin0\lin720\itap0\pararsid13978329 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458\charrsid9121458 \hich\af31506\dbch\af31505\loch\f31506
Empty string = no identification could be performed, e.g. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506
the MAC-Plugin cannot work on a computer without network interfaces. In this case, the output of the plugin will be IGNORED. For ex}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6372815 \hich\af31506\dbch\af31505\loch\f31506
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, 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.
\lang1033\langfe1031\langnp1033\insrsid9121458 \hich\af31506\dbch\af31505\loch\f31506 be executed, because 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 re\hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 turns \'93}{
Multiple outputs: Multiple identifications, e.g. multiple MAC addresses are separated with a linefeed (0x10). Each identification will be \hich\af31506\dbch\af31505\loch\f31506 \hich\f31506 traded separately. For example, if the MAC-Plugin returns \'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:
657,14 → 671,14
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6707673 \hich\af31506\dbch\af31505\loch\f31506 )
\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\insrsid3569955\charrsid5733712
\hich\af31506\dbch\af31505\loch\f31506 The }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3569955 \hich\af31506\dbch\af31505\loch\f31506 plugin name }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3569955\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 bit).}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5064448
\lang1033\langfe1031\langnp1033\insrsid3569955\charrsid5733712 \hich\af31506\dbch\af31505\loch\f31506 must b\hich\af31506\dbch\af31505\loch\f31506 e}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3569955
\hich\af31506\dbch\af31505\loch\f31506 a wide string (16 bit).}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5064448
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5064448 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid5064448\charrsid13978329
\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
\hich\af31506\dbch\af31505\loch\f31506 is running on 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 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
\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
674,8 → 688,8
\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 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
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13978329 \hich\af31506\dbch\af31505\loch\f31506 This method returns a short string of the identifica\hich\af31506\dbch\af31505\loch\f31506
tion 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
698,332 → 712,216
\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 Statu
\hich\af31502\dbch\af31501\loch\f31502 s codes
\hich\af31506\dbch\af31505\loch\f31506 Attention: If the requested language is not available, please return TRUE, and return the description in English.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid13961185
\par }\pard\plain \ltrpar\s2\ql \li0\ri0\sb240\sa60\sl259\slmult1\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0\pararsid13961185 \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\insrsid13961185 \page }{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid3025658 \hich\af31502\dbch\af31501\loch\f31502 Status 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
\b\lang1033\langfe1031\langnp1033\insrsid13966640\charrsid13966640 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid150970\charrsid13966640
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13966640 \hich\af31506\dbch\af31505\loch\f31506 A status code has a size of 32 bits.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13966640\charrsid150970
\par }\pard \ltrpar\ql \li0\ri0\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
+-----------------------------------------------+
\par \hich\af2\dbch\af31505\loch\f2 | | | | | | | | |
\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 | }{\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 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
\b\lang1033\langfe1031\langnp1033\insrsid13966640\charrsid13966640 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13961185 {\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 Delphi}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 (UD2_PluginStatus.pas)
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13961185 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 type}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSCAT = WORD;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSAUTH = TGUID;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG = DWORD;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSEXTRAINFO = DWORD;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS = }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 packed record}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\par \hich\af2\dbch\af31505\loch\f2 cbSize: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 BYTE;
\par \hich\af2\dbch\af31505\loch\f2 bReserved: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 BYTE;
\par \hich\af2\dbch\af31505\loch\f2 wCategory: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSCAT;
\par \hich\af2\dbch\af31505\loch\f2 grAuthority: UD2_STATUSAUTH;
\par \hich\af2\dbch\af31505\loch\f2 dwMessage: }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG;
\par \hich\af2\dbch\af31505\loch\f2 dwExtraInfo: UD2_STATUSEXTRAINFO;
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13961185 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 end}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 C++}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 (ud2_status.h)
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13961185 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 WORD UD2_STATUSCAT;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 GUID UD2_STATUSAUTH;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 ty\hich\af2\dbch\af31505\loch\f2 pedef}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 DWORD UD2_STATUSMSG;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\par \hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 DWORD UD2_STATUSEXTRAINFO;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 #pragma}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 pack(push, 1) // no alignment
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 struct}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 _UD2_STATUS \{
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 BYTE }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 cbSize;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 BYTE }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 bReserved;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSCAT }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 wCategory;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSAUTH }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 grAuthority;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSMSG }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 dwMessage;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 UD2_STATUSEXTRAINFO }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 dwExtraInfo;
\par \}\hich\af2\dbch\af31505\loch\f2 UD2_STATUS;
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af2\dbch\af31505\loch\f2 #pragma}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 pack(pop) // restore previous pack value
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 cbSize}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid2388964\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 Size of struct}{\rtlch\fcs1 \af0 \ltrch\fcs0
\ul\lang1033\langfe1031\langnp1033\insrsid10842502\charrsid13961185
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10842502 \hich\af31506\dbch\af31505\loch\f31506 The size of the struct, which is currently 16, but you should use }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid10842502\charrsid11754596 \hich\af2\dbch\af31505\loch\f2 sizeof(UD2_STATUS)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10842502 .}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid10842502\charrsid10842502
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 bReserved}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid2388964\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 Reserved byte
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid10842502 \hich\af31506\dbch\af31505\loch\f31506 Should be always zero.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid10842502
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 wCategory}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 Category
\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
\hich\af31506\dbch\af31505\loch\f31506 Success
\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 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
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Authority}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 (3}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9318354 \hich\af31506\dbch\af31505\loch\f31506 nibbles =}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970
\hich\af31506\dbch\af31505\loch\f31506 12 bits; bits 16..27)}{\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 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
\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\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
\hich\af2\dbch\af31505\loch\f2 0xFF0 .. 0xFFF =}{\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 status c}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 odes for documentation purposes
}{\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 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 Message}{\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 4 nibbles =}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 16 bits; bits 0..15)}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af2\dbch\af31505\loch\f2 0x}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10842502 0}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 00}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid3622538 0}{\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\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Success
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 0x}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10842502 0}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185 00}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 1}{\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\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Not available
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 0x}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10842502 0}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid13961185 00}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 2}{\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\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Error
\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\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 0x}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10842502 0}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 00}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538
\hich\af2\dbch\af31505\loch\f2 3}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 ..0xF}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid10842502
\hich\af2\dbch\af31505\loch\f2 F}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 FF}{\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\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 are reserved}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
 
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 grAuthority}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 Authority
\par }\pard\plain \ltrpar\s20\ql \li0\ri0\sa160\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13961185 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \{\hich\af2\dbch\af31505\loch\f2
90F53368-1EFB-4350-A6BC-725C69938B9C\}}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 is the GUID for}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9132286\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 generic}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 status codes. Y}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9132286\charrsid9132286 \hich\af31506\dbch\af31505\loch\f31506 ou }{\rtlch\fcs1
\af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 should use them, if applicable. If you want to return individual status codes, please generate a new GUID.}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\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 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 dwMessage}{\rtlch\fcs1 \af0
\ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid150970\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 Message
\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 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 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 \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
\hich\af2\dbch\af31505\loch\f2 0x0000}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 0000}{\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\insrsid3622538 \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\insrsid1647630 \hich\af31506\dbch\af31505\loch\f31506 n unspecified status in}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 category "C", issued by 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 0x00}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 0000}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid4476179 \hich\af2\dbch\af31505\loch\f2 01..}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 0x}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3622538 \hich\af2\dbch\af31505\loch\f2 FFFF}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 FFFF = }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1647630 \hich\af31506\dbch\af31505\loch\f31506 the status in}{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 cate\hich\af31506\dbch\af31505\loch\f31506 gory "C", issued by authority "A".}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185 \hich\af2\dbch\af31505\loch\f2 dwExtraInfo}{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid13961185\charrsid13961185
\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \ul\lang1033\langfe1031\langnp1033\insrsid9132286\charrsid13961185 \hich\af31506\dbch\af31505\loch\f31506 Extra Information
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9132286 \hich\af31506\dbch\af31505\loch\f31506
This field can be used to pass additional information, for example, a pointer to shared memory, or passing an error code of a failed external API}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6511812
\hich\af31506\dbch\af31505\loch\f31506 (e.g. WinAPI)}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid9132286 .
\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Currently assigned g\hich\af31506\dbch\af31505\loch\f31506 eneric status codes
\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 \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 = 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\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
\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_MULTILINE}{\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 8}{
\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 }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid3998625 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Unspecified success code}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_SINGLELINE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Success, one identifier returned}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_MULTILINE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 = Success, multiple identifiers returned}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_LICENSED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = The plugin is licensed}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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_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_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
\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\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Not available, Unspecified}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid11096861 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Operating system not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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 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 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 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Hardware not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STAT\hich\af2\dbch\af31505\loch\f2 US_NOTAVAIL_NO_ENTITIES}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = No entities available, }{\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\insrsid12933746 \hich\af31506\dbch\af31505\loch\f31506 MAC addresses}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746 \hich\af2\dbch\af31505\loch\f2 WIN}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 API_CALL_FAILURE}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970 \hich\af31506\dbch\af31505\loch\f31506
= An API call has failed, possibly }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12933746 \hich\af31506\dbch\af31505\loch\f31506 operating system not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid12933746 \hich\af31506\dbch\af31505\loch\f31506 . }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid12933746 \hich\af2\dbch\af31505\loch\f2 dwExtraInfo}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12933746\charrsid12933746 \hich\af31506\dbch\af31505\loch\f31506 contains the Windows Status C\hich\af31506\dbch\af31505\loch\f31506 ode (e.g. from }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid12933746 \hich\af2\dbch\af31505\loch\f2 GetLastError}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid12933746\charrsid12933746 \hich\af31506\dbch\af31505\loch\f31506 ).}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid3998625\charrsid12933746
\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_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_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_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 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 : 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:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 1.\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\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 Registe}{\rtlch\fcs1 \af0
\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 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 \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 (}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 0x100}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6776079 \hich\af31506\dbch\af31505\loch\f31506 )}{
\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 is your Authority ID.
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid150970 {\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid11096861\charrsid11096861
\hich\af31506\dbch\af31505\loch\f31506 Example}{\rtlch\fcs1 \af0 \ltrch\fcs0 \i\lang1033\langfe1031\langnp1033\insrsid3943969 \hich\af31506\dbch\af31505\loch\f31506 :}{\rtlch\fcs1 \af0 \ltrch\fcs0
\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 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
\par \hich\af31506\dbch\af31505\loch\f31506 S}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 o you can ass}{\rtlch\fcs1 \af0 \ltrch\fcs0
\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 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
\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\pararsid11404612 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid3025658\charrsid11404612
\hich\af2\dbch\af31505\loch\f2 type
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11404612 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS}{\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\insrsid3025658\charrsid3025658 \hich\af2\dbch\af31505\loch\f2 = DWORD;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3025658
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11930278 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278
\hich\af2\dbch\af31505\loch\f2 UD2_STATUSCAT}{\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 = $0..$F;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUSAUTH = $000..$FFF;
\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
\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
\f2\lang1033\langfe1031\langnp1033\insrsid11404612\charrsid11404612 \hich\af2\dbch\af31505\loch\f2 $81000001;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_MULTILINE }{\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 $81000002;
\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_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;
\par \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_NOTAVAIL_HW_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 $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_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_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;
\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_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
\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_STATU}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid8269150 \hich\af2\dbch\af31505\loch\f2 S_Construct(cat: UD2_STATUSCAT;
\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_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_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): 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): 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;}{\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.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
\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\insrsid12933746\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_UNSPECIFIED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506 = Unspecified error}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid12933746\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_BUFFER_TOO_SMALL}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 = Buffer too small}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid6964071\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_INVALID_ARGS}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970
\hich\af31506\dbch\af31505\loch\f31506 = Invalid arguments passed to function}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\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\pararsid11930278 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278
\hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278 \hich\af2\dbch\af31505\loch\f2 BYTE UD2_STATUSCAT; }{\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 // 0x0..0xF; only 1 nibble!
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278 \hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278
\hich\af2\dbch\af31505\loch\f2 WORD UD2_STATUSAUTH; // 0x000..0xFFF; only 3 nibbles!
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278 \hich\af2\dbch\af31505\loch\f2 typedef}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278\charrsid11930278
\hich\af2\dbch\af31505\loch\f2 WORD UD2_STATUSMSG;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid11930278
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid5064448 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3025658
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11404612 {\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_UNSPECIFIED = 0x81000000;
\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_SINGLELINE = 0x81000001;
\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 = 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;
\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_OS_NOT_SUPPORTED = 0x91000001;
\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_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 \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
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_STATUS_ERROR_INVALID_ARGS = 0xA1000002;
\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_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_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_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);
\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\insrsid3022222\charrsid11096861
\hich\af2\dbch\af31505\loch\f2 int}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222\charrsid3022222 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_FormatStatusC}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af2\dbch\af31505\loch\f2 ode(}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid150970\charrsid11096861 \hich\af2\dbch\af31505\loch\f2 char}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid150970 \hich\af2\dbch\af31505\loch\f2 * szStr, size_t cchLen,
\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_IsSpecific(UD2_STATUS dwStatus);}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid3022222
\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\insrsid6964071\charrsid4476179
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_ERROR_PLUGIN_NOT_LICEN\hich\af2\dbch\af31505\loch\f2 SED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid150970\charrsid150970 \hich\af31506\dbch\af31505\loch\f31506
= The plugin is not licensed}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid6964071 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5178738
\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\insrsid15536699
\hich\af31506\dbch\af31505\loch\f31506 Additional functions in Delphi (PluginStatus}{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid15078789\charrsid15078789 \hich\af31506\dbch\af31505\loch\f31506 .pas)}{\rtlch\fcs1 \af0
\ltrch\fcs0 \b\lang1033\langfe1031\langnp1033\insrsid3025658
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15536699 {\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_FormatStatusCode(grStatus: UD2_STATUS): }{\rtlch\fcs1 \af2 \ltrch\fcs0
\b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 string}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 ;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_Equal(grStatus1, grStatus2: UD2_STATUS; compareExtraInfo: boolean): }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 boolean}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 ;
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 function}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OSError(OSError: DWORD): UD2_STATUS;
\par }{\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.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 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 int}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_FormatStatusCode(}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 char}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 * szStr, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 size_t}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699 \hich\af2\dbch\af31505\loch\f2 cchLen, UD2_STATUS grStatus);}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 bool}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS_Equal(UD2_STATUS grStatus1, U\hich\af2\dbch\af31505\loch\f2 D2_STATUS grStatus2, bool compareExtraInfo)}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699
\hich\af2\dbch\af31505\loch\f2 ;}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 bool}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 operator==(}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 UD2_STATU}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699 \hich\af2\dbch\af31505\loch\f2 S& lhs, }{\rtlch\fcs1 \af2
\ltrch\fcs0 \b\f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS& rhs);}{
\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\par }\pard \ltrpar\ql \li0\ri0\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid15536699 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699\charrsid15536699
\hich\af2\dbch\af31505\loch\f2 UD2_STATUS UD2_S}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid15536699 \hich\af2\dbch\af31505\loch\f2 TATUS_OSError(DWORD dwOSError);
\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 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 ):
The plugin SDK contains methods which help you writing the strings in the buffer, as \hich\af31506\dbch\af31505\loch\f31506 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 ):
\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
1059,13 → 957,13
\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_STATUS_OK_MULTILINE
\f2\lang1033\langfe1031\langnp1033\insrsid13381599\charrsid4476179 \hich\af2\dbch\af31505\loch\f2 UD2_STATUS_OK_MUL\hich\af2\dbch\af31505\loch\f2 TILINE
\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
\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 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
\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
\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
1082,12 → 980,26
\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 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
\hich\af31506\dbch\af31505\loch\f31506 . }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid15940546\charrsid15940546 \hich\af31506\dbch\af31505\loch\f31506 This impro\hich\af31506\dbch\af31505\loch\f31506
ves 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 ti
\hich\af31506\dbch\af31505\loch\f31506 me.}{\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\insrsid1981563 \hich\af31502\dbch\af31501\loch\f31502 Known
\hich\af31502\dbch\af31501\loch\f31502 Compatibility Issues
\par }\pard\plain \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid1981563 \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\insrsid1981563\charrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 Windows NT4 SP6
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\insrsid1981563 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\ls11\adjustright\rin0\lin720\itap0\pararsid1981563 {\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 The p}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 lugins\hich\af31506\dbch\af31505\loch\f31506 DHCP_}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563
\hich\af31506\dbch\af31505\loch\f31506 IP, DHCP_MAC, GatewayIP, GatewayMAC}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 , LAN_IP}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 are not working because\hich\af31506\dbch\af31505\loch\f31506 the WinAPI function\hich\af31506\dbch\af31505\loch\f31506 }{\rtlch\fcs1 \af2 \ltrch\fcs0
\f2\lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563 \hich\af2\dbch\af31505\loch\f2 GetAdaptersInfo()}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563 \hich\af31506\dbch\af31505\loch\f31506
is not supported}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 (}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563
\hich\af2\dbch\af31505\loch\f2 ERROR_NOT_SU\hich\af2\dbch\af31505\loch\f2 PPORTED}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563 \hich\af31506\dbch\af31505\loch\f31506 )}{\rtlch\fcs1 \af0 \ltrch\fcs0
\lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563 .}{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid1981563\charrsid1981563
\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 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 ( }
1094,20 → 1006,20
{\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
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.
002d006d0014000014000000006800}}}{\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 te\hich\af31506\dbch\af31505\loch\f31506 rms 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\hich\af31506\dbch\af31505\loch\f31506 " }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
\hich\af31506\dbch\af31505\loch\f31506 HYPERLINK "mailto:info@daniel-marschall.de" }{\rtlch\fcs1 \af0 \ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b580000006d00610069006c0074006f003a0069006e0066006f004000640061006e00690065006c002d006d006100720073006300680061006c006c002e00640065000000795881f43b1d7f48af2c825dc48527630000
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
0000a5ab00010067004c007000010000002c000000}}}{\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://www.daniel-marschall.de" }{\rtlch\fcs1 \af0
\ltrch\fcs0 \lang1033\langfe1031\langnp1033\insrsid5733712 {\*\datafield
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b5800000068007400740070003a002f002f007700770077002e00640061006e00690065006c002d006d006100720073006300680061006c006c002e00640065002f000000795881f43b1d7f48af2c825dc48527630000
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
0000a5ab0001000000000000000000020002490000}}}{\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
1249,8 → 1161,8
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b0a5
c7acc0fcd001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000f0a1
3719a2fdd001feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}
/trunk/UserDetect2/UD2_Obj.pas
9,7 → 9,8
{$INCLUDE 'UserDetect2.inc'}
 
uses
Windows, SysUtils, Classes, IniFiles, Contnrs, Dialogs, UD2_PluginIntf;
Windows, SysUtils, Classes, IniFiles, Contnrs, Dialogs, UD2_PluginIntf,
UD2_PluginStatus;
 
const
cchBufferSize = 32768;
77,7 → 78,7
function ReadMetatagBool(ShortTaskName, MetatagName: string;
DefaultVal: string): boolean;
function GetTaskName(AShortTaskName: string): string;
class function GenericErrorLookup(dwStatus: UD2_STATUS): string;
class function GenericErrorLookup(grStatus: UD2_STATUS): string;
end;
 
implementation
99,7 → 100,7
destructor Destroy; override;
end;
 
class function TUD2.GenericErrorLookup(dwStatus: UD2_STATUS): string;
class function TUD2.GenericErrorLookup(grStatus: UD2_STATUS): string;
resourcestring
LNG_STATUS_OK_UNSPECIFIED = 'Unspecified generic success';
LNG_STATUS_OK_SINGLELINE = 'Operation successful; one identifier returned';
109,7 → 110,7
LNG_STATUS_NOTAVAIL_OS_NOT_SUPPORTED = 'Operating system not supported';
LNG_STATUS_NOTAVAIL_HW_NOT_SUPPORTED = 'Hardware not supported';
LNG_STATUS_NOTAVAIL_NO_ENTITIES = 'No entities to identify';
LNG_STATUS_NOTAVAIL_API_CALL_FAILURE = 'An API call failed';
LNG_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE = 'A Windows API call failed. Message: %s';
 
LNG_STATUS_ERROR_UNSPECIFIED = 'Unspecified generic error';
LNG_STATUS_ERROR_BUFFER_TOO_SMALL = 'The provided buffer is too small!';
118,28 → 119,28
 
LNG_UNKNOWN_SUCCESS = 'Unknown "success" status code %s';
LNG_UNKNOWN_NOTAVAIL = 'Unknown "not available" status code %s';
LNG_UNKNOWN_FAILED = 'Unknown "failed" status code %s';
LNG_UNKNOWN_FAILED = 'Unknown "failure" status code %s';
LNG_UNKNOWN_STATUS = 'Unknown status code with unexpected category: %s';
begin
if dwStatus = UD2_STATUS_OK_UNSPECIFIED then result := LNG_STATUS_OK_UNSPECIFIED
else if dwStatus = UD2_STATUS_OK_SINGLELINE then result := LNG_STATUS_OK_SINGLELINE
else if dwStatus = UD2_STATUS_OK_MULTILINE then result := LNG_STATUS_OK_MULTILINE
if UD2_STATUS_Equal(grStatus, UD2_STATUS_OK_UNSPECIFIED, false) then result := LNG_STATUS_OK_UNSPECIFIED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_OK_SINGLELINE, false) then result := LNG_STATUS_OK_SINGLELINE
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_OK_MULTILINE, false) then result := LNG_STATUS_OK_MULTILINE
 
else if dwStatus = UD2_STATUS_NOTAVAIL_UNSPECIFIED then result := LNG_STATUS_NOTAVAIL_UNSPECIFIED
else if dwStatus = UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED then result := LNG_STATUS_NOTAVAIL_OS_NOT_SUPPORTED
else if dwStatus = UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED then result := LNG_STATUS_NOTAVAIL_HW_NOT_SUPPORTED
else if dwStatus = UD2_STATUS_NOTAVAIL_NO_ENTITIES then result := LNG_STATUS_NOTAVAIL_NO_ENTITIES
else if dwStatus = UD2_STATUS_NOTAVAIL_API_CALL_FAILURE then result := LNG_STATUS_NOTAVAIL_API_CALL_FAILURE
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_NOTAVAIL_UNSPECIFIED, false) then result := LNG_STATUS_NOTAVAIL_UNSPECIFIED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_NOTAVAIL_OS_NOT_SUPPORTED, false) then result := LNG_STATUS_NOTAVAIL_OS_NOT_SUPPORTED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_NOTAVAIL_HW_NOT_SUPPORTED, false) then result := LNG_STATUS_NOTAVAIL_HW_NOT_SUPPORTED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_NOTAVAIL_NO_ENTITIES, false) then result := LNG_STATUS_NOTAVAIL_NO_ENTITIES
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE, false) then result := Format(LNG_STATUS_NOTAVAIL_WINAPI_CALL_FAILURE, [FormatOSError(grStatus.dwExtraInfo)])
 
else if dwStatus = UD2_STATUS_ERROR_UNSPECIFIED then result := LNG_STATUS_ERROR_UNSPECIFIED
else if dwStatus = UD2_STATUS_ERROR_BUFFER_TOO_SMALL then result := LNG_STATUS_ERROR_BUFFER_TOO_SMALL
else if dwStatus = UD2_STATUS_ERROR_INVALID_ARGS then result := LNG_STATUS_ERROR_INVALID_ARGS
else if dwStatus = UD2_STATUS_ERROR_PLUGIN_NOT_LICENSED then result := LNG_STATUS_ERROR_PLUGIN_NOT_LICENSED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_FAILURE_UNSPECIFIED, false) then result := LNG_STATUS_ERROR_UNSPECIFIED
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_FAILURE_BUFFER_TOO_SMALL, false) then result := LNG_STATUS_ERROR_BUFFER_TOO_SMALL
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_FAILURE_INVALID_ARGS, false) then result := LNG_STATUS_ERROR_INVALID_ARGS
else if UD2_STATUS_Equal(grStatus, UD2_STATUS_FAILURE_PLUGIN_NOT_LICENSED, false) then result := LNG_STATUS_ERROR_PLUGIN_NOT_LICENSED
 
else if UD2_STATUS_Successful(dwStatus) then result := Format(LNG_UNKNOWN_SUCCESS, [UD2_STATUS_FormatStatusCode(dwStatus)])
else if UD2_STATUS_NotAvail(dwStatus) then result := Format(LNG_UNKNOWN_NOTAVAIL, [UD2_STATUS_FormatStatusCode(dwStatus)])
else if UD2_STATUS_Failed(dwStatus) then result := Format(LNG_UNKNOWN_FAILED, [UD2_STATUS_FormatStatusCode(dwStatus)])
else result := Format(LNG_UNKNOWN_STATUS, [UD2_STATUS_FormatStatusCode(dwStatus)]);
else if grStatus.wCategory = UD2_STATUSCAT_SUCCESS then result := Format(LNG_UNKNOWN_SUCCESS, [UD2_STATUS_FormatStatusCode(grStatus)])
else if grStatus.wCategory = UD2_STATUSCAT_NOT_AVAIL then result := Format(LNG_UNKNOWN_NOTAVAIL, [UD2_STATUS_FormatStatusCode(grStatus)])
else if grStatus.wCategory = UD2_STATUSCAT_FAILED then result := Format(LNG_UNKNOWN_FAILED, [UD2_STATUS_FormatStatusCode(grStatus)])
else result := Format(LNG_UNKNOWN_STATUS, [UD2_STATUS_FormatStatusCode(grStatus)]);
end;
 
{ TUD2Plugin }
571,7 → 572,7
end;
 
statusCode := fCheckLicense(nil);
if UD2_STATUS_Failed(statusCode) then
if statusCode.wCategory = UD2_STATUSCAT_FAILED then
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnCheckLicense, dllFile]));
Exit;
578,8 → 579,8
end;
 
statusCode := fPluginNameW(@buf, cchBufferSize, lngID);
if UD2_STATUS_Successful(statusCode) then pl.PluginName := PWideChar(@buf)
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginName := ''
if statusCode.wCategory = UD2_STATUSCAT_SUCCESS then pl.PluginName := PWideChar(@buf)
else if statusCode.wCategory = UD2_STATUSCAT_NOT_AVAIL then pl.PluginName := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginNameW, dllFile]));
587,8 → 588,8
end;
 
statusCode := fPluginVendorW(@buf, cchBufferSize, lngID);
if UD2_STATUS_Successful(statusCode) then pl.PluginVendor := PWideChar(@buf)
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginVendor := ''
if statusCode.wCategory = UD2_STATUSCAT_SUCCESS then pl.PluginVendor := PWideChar(@buf)
else if statusCode.wCategory = UD2_STATUSCAT_NOT_AVAIL then pl.PluginVendor := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginVendorW, dllFile]));
596,8 → 597,8
end;
 
statusCode := fPluginVersionW(@buf, cchBufferSize, lngID);
if UD2_STATUS_Successful(statusCode) then pl.PluginVersion := PWideChar(@buf)
else if UD2_STATUS_NotAvail(statusCode) then pl.PluginVersion := ''
if statusCode.wCategory = UD2_STATUSCAT_SUCCESS then pl.PluginVersion := PWideChar(@buf)
else if statusCode.wCategory = UD2_STATUSCAT_NOT_AVAIL then pl.PluginVersion := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnPluginVersionW, dllFile]));
605,8 → 606,8
end;
 
statusCode := fIdentificationMethodNameW(@buf, cchBufferSize);
if UD2_STATUS_Successful(statusCode) then pl.IdentificationMethodName := PWideChar(@buf)
else if UD2_STATUS_NotAvail(statusCode) then pl.IdentificationMethodName := ''
if statusCode.wCategory = UD2_STATUSCAT_SUCCESS then pl.IdentificationMethodName := PWideChar(@buf)
else if statusCode.wCategory = UD2_STATUSCAT_NOT_AVAIL then pl.IdentificationMethodName := ''
else
begin
Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnIdentificationMethodNameW, dllFile]));
616,10 → 617,10
statusCode := fIdentificationStringW(@buf, cchBufferSize);
pl.IdentificationProcedureStatusCode := statusCode;
pl.IdentificationProcedureStatusCodeDescribed := _ErrorLookup(statusCode);
if UD2_STATUS_Successful(statusCode) then
if statusCode.wCategory = UD2_STATUSCAT_SUCCESS then
begin
sIdentifier := PWideChar(@buf);
if statusCode = UD2_STATUS_OK_MULTILINE then
if UD2_STATUS_Equal(statusCode, UD2_STATUS_OK_MULTILINE, false) then
begin
// Multiple identifiers (e.g. multiple MAC addresses are delimited via UD2_MULTIPLE_ITEMS_DELIMITER)
SetLength(sIdentifiers, 0);
634,7 → 635,7
pl.AddIdentification(sIdentifier);
end;
end
else if not UD2_STATUS_NotAvail(statusCode) then
else if statusCode.wCategory <> UD2_STATUSCAT_NOT_AVAIL then
begin
// Errors.Add(Format(LNG_METHOD_FAILURE, [_ErrorLookup(statusCode), mnIdentificationStringW, dllFile]));
Errors.Add(Format(LNG_METHOD_FAILURE, [pl.IdentificationProcedureStatusCodeDescribed, mnIdentificationStringW, dllFile]));