Skip to content

Commit 404c16f

Browse files
committed
modify:serial generator and memory size
1 parent 6478e3c commit 404c16f

File tree

7 files changed

+232
-22
lines changed

7 files changed

+232
-22
lines changed

XEngine.sln

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AIApi_APPExample", "XEngine
5858
EndProject
5959
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XEngine_Verification", "XEngine_Module\XEngine_Verification\XEngine_Verification.vcxproj", "{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}"
6060
EndProject
61+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Verification_APPExample", "XEngine_Example\Verification_APPExample\Verification_APPExample.vcxproj", "{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}"
62+
EndProject
6163
Global
6264
GlobalSection(SolutionConfigurationPlatforms) = preSolution
6365
Debug|ARM64 = Debug|ARM64
@@ -236,6 +238,18 @@ Global
236238
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x64.Build.0 = Release|x64
237239
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.ActiveCfg = Release|Win32
238240
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256}.Release|x86.Build.0 = Release|Win32
241+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|ARM64.ActiveCfg = Debug|ARM64
242+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|ARM64.Build.0 = Debug|ARM64
243+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|x64.ActiveCfg = Debug|x64
244+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|x64.Build.0 = Debug|x64
245+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|x86.ActiveCfg = Debug|Win32
246+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Debug|x86.Build.0 = Debug|Win32
247+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|ARM64.ActiveCfg = Release|ARM64
248+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|ARM64.Build.0 = Release|ARM64
249+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|x64.ActiveCfg = Release|x64
250+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|x64.Build.0 = Release|x64
251+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|x86.ActiveCfg = Release|Win32
252+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A}.Release|x86.Build.0 = Release|Win32
239253
EndGlobalSection
240254
GlobalSection(SolutionProperties) = preSolution
241255
HideSolutionNode = FALSE
@@ -255,6 +269,7 @@ Global
255269
{DE495AB3-201F-4288-9A3A-41DFA146AD30} = {26417B01-459E-4287-9524-7B0293BAD18A}
256270
{C0792082-058B-4BF1-894F-D4D5D7124022} = {58092034-5B83-4806-B7FE-CCDD7414C4AE}
257271
{A8E43EC0-698A-4807-8A61-B2BE5FAB7256} = {26417B01-459E-4287-9524-7B0293BAD18A}
272+
{6DDE9B0B-5DDA-47B0-BF6F-ADF47EC8568A} = {58092034-5B83-4806-B7FE-CCDD7414C4AE}
258273
EndGlobalSection
259274
GlobalSection(ExtensibilityGlobals) = postSolution
260275
SolutionGuid = {16D43B4F-E3D4-4036-A44C-5DDD64988164}

XEngine_Module/XEngine_Verification/Verification_Define.h

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,44 @@ extern "C" bool Verification_XAuthKey_FileWrite(VERIFICATION_XAUTHKEY* pSt_XAuth
536536
*********************************************************************/
537537
extern "C" bool Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKEY* pSt_XAuthInfo);
538538
/********************************************************************
539+
函数名称:Verification_XAuthKey_KeyInit
540+
函数功能:KEY结构初始化
541+
参数.一:pSt_XAuthInfo
542+
In/Out:In/Out
543+
类型:数据结构指针
544+
可空:N
545+
意思:输出初始化后的结构信息
546+
返回值
547+
类型:逻辑型
548+
意思:是否成功
549+
备注:
550+
*********************************************************************/
551+
extern "C" bool Verification_XAuthKey_KeyInit(VERIFICATION_XAUTHKEY* pSt_XAuthInfo);
552+
/********************************************************************
553+
函数名称:Verification_XAuthKey_KeySerial
554+
函数功能:序列号生成函数
555+
参数.一:ptszSerialStr
556+
In/Out:Out
557+
类型:字符指针
558+
可空:N
559+
意思:输出生成的序列号
560+
参数.二:nCount
561+
In/Out:In
562+
类型:整数型
563+
可空:N
564+
意思:输入要生成的段数
565+
参数.三:nType
566+
In/Out:In
567+
类型:整数型
568+
可空:N
569+
意思:输入生成的类型0随机,1数字,2字母
570+
返回值
571+
类型:逻辑型
572+
意思:是否成功
573+
备注:
574+
*********************************************************************/
575+
extern "C" bool Verification_XAuthKey_KeySerial(XCHAR* ptszSerialStr, int nCount, int nType);
576+
/********************************************************************
539577
函数名称:Verification_XAuthKey_UserRegister
540578
函数功能:用户注册CDKEY函数
541579
参数.一:pSt_AuthLocal
@@ -572,7 +610,7 @@ extern "C" bool Verification_XAuthKey_UserRegister(VERIFICATION_XAUTHKEY* pSt_Au
572610
意思:是否成功
573611
备注:记录次数越多,文件越大.读取需要的内存就越多
574612
*********************************************************************/
575-
extern "C" bool Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount = 0);
613+
extern "C" bool Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount = 10);
576614
/********************************************************************
577615
函数名称:Verification_XAuthKey_ReadTime
578616
函数功能:读取记录的时间列表信息

XEngine_Module/XEngine_Verification/Verification_XAuth/Verification_XAuthKey.cpp

Lines changed: 164 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ bool CVerification_XAuthKey::Verification_XAuthKey_FileRead(VERIFICATION_XAUTHKE
4747
{
4848
Verification_IsErrorOccur = false;
4949

50-
XCHAR tszDECodecBuffer[XPATH_MAX] = {};
51-
XCHAR tszENCodecBuffer[XPATH_MAX] = {};
50+
XCHAR tszDECodecBuffer[4096] = {};
51+
XCHAR tszENCodecBuffer[4096] = {};
5252

5353
FILE* pSt_File = _xtfopen(lpszKeyFile, _X("rb"));
5454
if (NULL == pSt_File)
@@ -83,6 +83,7 @@ bool CVerification_XAuthKey::Verification_XAuthKey_FileRead(VERIFICATION_XAUTHKE
8383
return false;
8484
}
8585
}
86+
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime);
8687
return true;
8788
}
8889
/********************************************************************
@@ -113,8 +114,8 @@ bool CVerification_XAuthKey::Verification_XAuthKey_FileWrite(VERIFICATION_XAUTHK
113114
Verification_IsErrorOccur = false;
114115

115116
int nSize = 0;
116-
XCHAR tszDECodecBuffer[XPATH_MAX] = {};
117-
XCHAR tszENCodecBuffer[XPATH_MAX] = {};
117+
XCHAR tszDECodecBuffer[4096] = {};
118+
XCHAR tszENCodecBuffer[4096] = {};
118119

119120
//更新使用时间
120121
if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_XAuthInfo->st_AuthRegInfo.enSerialType)
@@ -187,11 +188,8 @@ bool CVerification_XAuthKey::Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKE
187188
}
188189
//////////////////////////////////////////////////////////////////////////验证
189190
//验证CDKEY本身情况
190-
XENGINE_LIBTIME st_StartTimer = {};
191191
XENGINE_LIBTIME st_EndTimer = {};
192192
XENGINE_LIBTIME st_SysTimer = {};
193-
194-
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime);
195193
//处理注册类型
196194
if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNLIMIT == pSt_XAuthInfo->st_AuthRegInfo.enRegType)
197195
{
@@ -221,24 +219,24 @@ bool CVerification_XAuthKey::Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKE
221219
//计算超时时间
222220
if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_DAY == pSt_XAuthInfo->st_AuthRegInfo.enSerialType)
223221
{
224-
XENGINE_LIBTIME st_EndTimer;
225-
XENGINE_LIBTIME st_StartTime;
226-
227-
memset(&st_EndTimer, '\0', sizeof(XENGINE_LIBTIME));
228-
memset(&st_StartTime, '\0', sizeof(XENGINE_LIBTIME));
229-
230-
BaseLib_Time_GetSysTime(&st_EndTimer);
231-
BaseLib_Time_StrToTime(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime, &st_StartTime);
232-
if ((st_EndTimer.wYear != st_StartTime.wYear) || (st_EndTimer.wMonth != st_StartTime.wMonth) || (st_EndTimer.wDay != st_StartTime.wDay))
222+
BaseLib_Time_GetSysTime(&st_SysTimer);
223+
BaseLib_Time_StrToTime(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime, &st_EndTimer);
224+
if ((st_EndTimer.wYear != st_SysTimer.wYear) || (st_EndTimer.wMonth != st_SysTimer.wMonth) || (st_EndTimer.wDay != st_SysTimer.wDay))
233225
{
234226
pSt_XAuthInfo->st_AuthRegInfo.nHasTime--;
235227
}
236-
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime);
237228
}
238229
else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_SECOND == pSt_XAuthInfo->st_AuthRegInfo.enSerialType)
239230
{
240-
memset(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime, '\0', sizeof(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime));
241-
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime);
231+
XCHAR tszTimeEnd[64] = {};
232+
__int64x nUsedTime = 0;
233+
234+
BaseLib_Time_TimeToStr(tszTimeEnd);
235+
BaseLib_TimeSpan_GetForStr(pSt_XAuthInfo->st_AuthRegInfo.tszStartTime, tszTimeEnd, &nUsedTime, ENUM_XENGINE_BASELIB_TIME_TYPE_SECOND);
236+
if (nUsedTime <= 0)
237+
{
238+
pSt_XAuthInfo->st_AuthRegInfo.nHasTime = nUsedTime;
239+
}
242240
}
243241
else if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME == pSt_XAuthInfo->st_AuthRegInfo.enSerialType)
244242
{
@@ -290,6 +288,152 @@ bool CVerification_XAuthKey::Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKE
290288
return true;
291289
}
292290
/********************************************************************
291+
函数名称:Verification_XAuthKey_KeyInit
292+
函数功能:KEY结构初始化
293+
参数.一:pSt_XAuthInfo
294+
In/Out:In/Out
295+
类型:数据结构指针
296+
可空:N
297+
意思:输出初始化后的结构信息
298+
返回值
299+
类型:逻辑型
300+
意思:是否成功
301+
备注:
302+
*********************************************************************/
303+
bool CVerification_XAuthKey::Verification_XAuthKey_KeyInit(VERIFICATION_XAUTHKEY* pSt_XAuthInfo)
304+
{
305+
Verification_IsErrorOccur = false;
306+
307+
if (NULL == pSt_XAuthInfo)
308+
{
309+
Verification_IsErrorOccur = true;
310+
Verification_dwErrorCode = ERROR_XENGINE_MODULE_VERIFICATION_XAUTH_PARAMENT;
311+
return false;
312+
}
313+
if (_tcsxlen(pSt_XAuthInfo->tszAddr) <= 0)
314+
{
315+
_xstprintf(pSt_XAuthInfo->tszAddr, _X("http://app.libxengine.com"));
316+
}
317+
if (0 == pSt_XAuthInfo->nPort)
318+
{
319+
pSt_XAuthInfo->nPort = 5302;
320+
}
321+
//应用信息
322+
pSt_XAuthInfo->st_AuthAppInfo.bInit = true;
323+
if (_tcsxlen(pSt_XAuthInfo->st_AuthAppInfo.tszAppName) <= 0)
324+
{
325+
_xstprintf(pSt_XAuthInfo->st_AuthAppInfo.tszAppName, _X("XEngine_AuthorzeApp"));
326+
}
327+
if (_tcsxlen(pSt_XAuthInfo->st_AuthAppInfo.tszAppVer) <= 0)
328+
{
329+
_xstprintf(pSt_XAuthInfo->st_AuthAppInfo.tszAppVer, _X("V1.0.0.1001"));
330+
}
331+
//注册信息
332+
SYSTEMAPI_SERIAL_INFOMATION st_SDKSerial = {};
333+
SystemApi_HardWare_GetSerial(&st_SDKSerial);
334+
335+
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthRegInfo.tszCreateTime);
336+
if (ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_UNKNOW == pSt_XAuthInfo->st_AuthRegInfo.enSerialType)
337+
{
338+
pSt_XAuthInfo->st_AuthRegInfo.enSerialType = ENUM_AUTHORIZE_MODULE_SERIAL_TYPE_TIME;
339+
_xstprintf(pSt_XAuthInfo->st_AuthRegInfo.tszLeftTime, _X("5"));
340+
pSt_XAuthInfo->st_AuthRegInfo.nHasTime = 5;
341+
}
342+
if (ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_UNKNOW == pSt_XAuthInfo->st_AuthRegInfo.enRegType)
343+
{
344+
pSt_XAuthInfo->st_AuthRegInfo.enRegType = ENUM_AUTHORIZE_MODULE_CDKEY_TYPE_TRY;
345+
}
346+
if (ENUM_AUTHORIZE_MODULE_HW_TYPE_UNKNOW == pSt_XAuthInfo->st_AuthRegInfo.enHWType)
347+
{
348+
pSt_XAuthInfo->st_AuthRegInfo.enHWType = ENUM_AUTHORIZE_MODULE_HW_TYPE_BOARD;
349+
if (_tcsxlen(pSt_XAuthInfo->st_AuthRegInfo.tszHardware) <= 0)
350+
{
351+
_xstprintf(pSt_XAuthInfo->st_AuthRegInfo.tszHardware, _X("%s"), st_SDKSerial.tszBoardSerial);
352+
}
353+
}
354+
if (ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_UNKNOW == pSt_XAuthInfo->st_AuthRegInfo.enVModeType)
355+
{
356+
pSt_XAuthInfo->st_AuthRegInfo.enVModeType = ENUM_AUTHORIZE_MODULE_VERMODE_TYPE_LOCAL;
357+
}
358+
//临时序列号
359+
if (0 == pSt_XAuthInfo->st_AuthSerial.st_TimeLimit.nTimeCount)
360+
{
361+
pSt_XAuthInfo->st_AuthSerial.st_TimeLimit.nTimeCount = 9999;
362+
}
363+
if (_tcsxlen(pSt_XAuthInfo->st_AuthSerial.st_TimeLimit.tszTimeSerial) <= 0)
364+
{
365+
Verification_XAuthKey_KeySerial(pSt_XAuthInfo->st_AuthSerial.st_TimeLimit.tszTimeSerial, 7, 0);
366+
}
367+
pSt_XAuthInfo->st_AuthSerial.st_DataLimit.bTimeAdd = true;
368+
if (_tcsxlen(pSt_XAuthInfo->st_AuthSerial.st_DataLimit.tszDataSerial) <= 0)
369+
{
370+
XENGINE_LIBTIME st_LibTime = {};
371+
BaseLib_Time_GetSysTime(&st_LibTime);
372+
st_LibTime.wYear += 1;
373+
BaseLib_Time_TimeToStr(pSt_XAuthInfo->st_AuthSerial.st_DataLimit.tszDataTime, NULL, true, &st_LibTime);
374+
Verification_XAuthKey_KeySerial(pSt_XAuthInfo->st_AuthSerial.st_DataLimit.tszDataSerial, 7, 0);
375+
}
376+
if (_tcsxlen(pSt_XAuthInfo->st_AuthSerial.st_UNLimit.tszUNLimitSerial) <= 0)
377+
{
378+
Verification_XAuthKey_KeySerial(pSt_XAuthInfo->st_AuthSerial.st_UNLimit.tszUNLimitSerial, 7, 0);
379+
}
380+
return true;
381+
}
382+
/********************************************************************
383+
函数名称:Verification_XAuthKey_KeySerial
384+
函数功能:序列号生成函数
385+
参数.一:ptszSerialStr
386+
In/Out:Out
387+
类型:字符指针
388+
可空:N
389+
意思:输出生成的序列号
390+
参数.二:nCount
391+
In/Out:In
392+
类型:整数型
393+
可空:N
394+
意思:输入要生成的段数
395+
参数.三:nType
396+
In/Out:In
397+
类型:整数型
398+
可空:N
399+
意思:输入生成的类型0随机,1数字,2字母
400+
返回值
401+
类型:逻辑型
402+
意思:是否成功
403+
备注:
404+
*********************************************************************/
405+
bool CVerification_XAuthKey::Verification_XAuthKey_KeySerial(XCHAR* ptszSerialStr, int nCount, int nType)
406+
{
407+
Verification_IsErrorOccur = false;
408+
409+
for (int i = 0; i < nCount; i++)
410+
{
411+
XCHAR tszRandomStr[6] = {};
412+
413+
if (0 != i)
414+
{
415+
_tcsxcat(ptszSerialStr, _X("-"));
416+
}
417+
418+
if (0 == nType)
419+
{
420+
BaseLib_Handle_CreateStr(tszRandomStr, 5, nType, 1);
421+
_tcsxcat(ptszSerialStr, tszRandomStr);
422+
}
423+
else if (1 == nType)
424+
{
425+
BaseLib_Handle_CreateStr(tszRandomStr, 5, nType, 1);
426+
_tcsxcat(ptszSerialStr, tszRandomStr);
427+
}
428+
else
429+
{
430+
BaseLib_Handle_CreateStr(tszRandomStr, 5, nType, 1);
431+
_tcsxcat(ptszSerialStr, tszRandomStr);
432+
}
433+
}
434+
return true;
435+
}
436+
/********************************************************************
293437
函数名称:Verification_XAuthKey_UserRegister
294438
函数功能:用户注册CDKEY函数
295439
参数.一:pSt_AuthLocal
@@ -398,7 +542,7 @@ bool CVerification_XAuthKey::Verification_XAuthKey_UserRegister(VERIFICATION_XAU
398542
意思:是否成功
399543
备注:记录次数越多,文件越大.读取需要的内存就越多
400544
*********************************************************************/
401-
bool CVerification_XAuthKey::Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount /* = 0 */)
545+
bool CVerification_XAuthKey::Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount /* = 10 */)
402546
{
403547
Verification_IsErrorOccur = false;
404548

XEngine_Module/XEngine_Verification/Verification_XAuth/Verification_XAuthKey.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ class CVerification_XAuthKey
2020
bool Verification_XAuthKey_FileRead(VERIFICATION_XAUTHKEY* pSt_XAuthInfo, LPCXSTR lpszKeyFile, LPCXSTR lpszKeyPass = NULL);
2121
bool Verification_XAuthKey_FileWrite(VERIFICATION_XAUTHKEY* pSt_XAuthInfo, LPCXSTR lpszKeyFile, LPCXSTR lpszKeyPass = NULL);
2222
bool Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKEY* pSt_XAuthInfo);
23+
bool Verification_XAuthKey_KeyInit(VERIFICATION_XAUTHKEY* pSt_XAuthInfo);
24+
bool Verification_XAuthKey_KeySerial(XCHAR* ptszSerialStr, int nCount, int nType);
2325
public:
2426
bool Verification_XAuthKey_UserRegister(VERIFICATION_XAUTHKEY* pSt_AuthLocal, LPCXSTR lpszSerialStr);
25-
bool Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount = 0);
27+
bool Verification_XAuthKey_WriteTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, int nCount = 10);
2628
bool Verification_XAuthKey_ReadTime(VERIFICATION_XAUTHKEY* pSt_AuthLocal, XCHAR*** ppptszTimeList, int* pInt_ListCount);
2729
public:
2830
bool Verification_XAuthKey_WriteKey(LPCXSTR lpszFileKey, VERIFICATION_XAUTHKEY* pSt_AuthLocal);

XEngine_Module/XEngine_Verification/XEngine_Verification.def

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ EXPORTS
1818
Verification_XAuthKey_FileRead
1919
Verification_XAuthKey_FileWrite
2020
Verification_XAuthKey_KeyParse
21+
Verification_XAuthKey_KeyInit
22+
Verification_XAuthKey_KeySerial
2123
Verification_XAuthKey_UserRegister
2224
Verification_XAuthKey_WriteTime
2325
Verification_XAuthKey_ReadTime

XEngine_Module/XEngine_Verification/pch.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,14 @@ extern "C" bool Verification_XAuthKey_KeyParse(VERIFICATION_XAUTHKEY* pSt_XAuthI
9393
{
9494
return m_XAuthKeyVerification.Verification_XAuthKey_KeyParse(pSt_XAuthInfo);
9595
}
96+
extern "C" bool Verification_XAuthKey_KeyInit(VERIFICATION_XAUTHKEY* pSt_XAuthInfo)
97+
{
98+
return m_XAuthKeyVerification.Verification_XAuthKey_KeyInit(pSt_XAuthInfo);
99+
}
100+
extern "C" bool Verification_XAuthKey_KeySerial(XCHAR* ptszSerialStr, int nCount, int nType)
101+
{
102+
return m_XAuthKeyVerification.Verification_XAuthKey_KeySerial(ptszSerialStr, nCount, nType);
103+
}
96104
extern "C" bool Verification_XAuthKey_UserRegister(VERIFICATION_XAUTHKEY* pSt_AuthLocal, LPCXSTR lpszSerialStr)
97105
{
98106
return m_XAuthKeyVerification.Verification_XAuthKey_UserRegister(pSt_AuthLocal, lpszSerialStr);

XEngine_Module/XEngine_Verification/pch.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <fcntl.h>
2424
#include <json/json.h>
2525
#include <shared_mutex>
26+
#include <list>
2627
#include <unordered_map>
2728
#include <XEngine_Include/XEngine_CommHdr.h>
2829
#include <XEngine_Include/XEngine_Types.h>

0 commit comments

Comments
 (0)