Преглед изворни кода

Z991239-4229 #comment feat: 同步EndInitMK函数到准入实体,解决初始化密钥结束时实体崩溃的问题

陈纪林80310970 пре 2 година
родитељ
комит
192c3322d9
2 измењених фајлова са 37 додато и 1 уклоњено
  1. 35 1
      Module/mod_accessauth/mod_AccessAuth.cpp
  2. 2 0
      Module/mod_accessauth/mod_AccessAuth.h

+ 35 - 1
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -300,7 +300,7 @@ void CAccessAuthSession::Handle_InitializeNew(SpReqAnsContext<AccessAuthService_
 	m_pEntity->m_strUserID = ctx->Req.strUserID.GetData();
 	m_pEntity->m_strPassword = ctx->Req.strPassword.GetData();
 
-	m_pEntity->BeginInitMKACS(); //待实现
+	m_pEntity->BeginInitMKACS(); 
 }
 
 
@@ -2125,6 +2125,40 @@ bool CAccessAuthEntity::SendInitMKReqACS(CInitlizerMKReq& initMKReq)
 	return true;
 }
 
+void CAccessAuthEntity::EndInitMK(DWORD rc, const char *pszErrMsg)
+{
+	LOG_FUNCTION();
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("EndInitMK")("EndInitMK:rc:%d,errMsg:%s", rc, pszErrMsg);
+	GetFunction()->KillTimer(22);
+
+	m_strLastErrMsg = pszErrMsg;
+
+	if (rc != Error_Succeed)
+	{
+		LogWarn(Severity_Middle, Error_Unexpect, ERR_INITIALIZER_INIT_MK,
+			GetOutPutStr("%s%08X%s%s", "EndInitMK", rc,"pszErrMsg", pszErrMsg).c_str());
+
+		GetFunction()->ShowFatalError(pszErrMsg);
+	}
+	else
+	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("EndInitMK")("初始化成功。。。");
+	}
+
+	m_eErrNum = rc;
+
+	bool bSuc = rc == Error_Succeed;
+
+	// 通知UI窗口
+	if (m_ctx != NULL) {
+		Dbg("success");
+		m_ctx->Ans.Errcode = rc;
+		m_ctx->Ans.ErrMsg = m_strLastErrMsg;
+		m_ctx->Answer(Error_Succeed);
+	}
+
+}
+
 SP_BEGIN_ENTITY_MAP()
 	SP_ENTITY(CAccessAuthEntity)
 SP_END_ENTITY_MAP()

+ 2 - 0
Module/mod_accessauth/mod_AccessAuth.h

@@ -165,6 +165,8 @@ public:
 	}
 	void EndInitMK(DWORD rc, const char* pszErrMsg);
 	ErrorCodeEnum LoadKeysToPinPadACS(string TMK, string TPK, string EDK, string index);
+	DWORD m_eErrNum;
+	CSimpleStringA m_strLastErrMsg;
 
 	int HexBuf2StrBuf(PBYTE hexBuf, char** strBuf, DWORD len)
 	{