LRESULT CMainDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/) { // set icons HICON hIcon = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXICON), ::GetSystemMetrics(SM_CYICON)); SetIcon(hIcon, TRUE); HICON hIconSmall = AtlLoadIconImage(IDR_MAINFRAME, LR_DEFAULTCOLOR, ::GetSystemMetrics(SM_CXSMICON), ::GetSystemMetrics(SM_CYSMICON)); SetIcon(hIconSmall, FALSE); // register object for message filtering and idle updates CMessageLoop* pLoop = _Module.GetMessageLoop(); ATLASSERT(pLoop != NULL); pLoop->AddMessageFilter(this); pLoop->AddIdleHandler(this); UIAddChildWindowContainer(m_hWnd); initValue(); LoadSetting(); InitDB(); initPreviewDlg(); initDH(); initBottomButton(); initTimeLabel(); initSlide(); initCradleButton(); //默认选中channel 0 FocusChannel(0); //默认布局 SetPreviewDlgLayout(PREVIEWLAYOUT4,0); //计时器 时钟 SetTimer(1,1000); //录像 SetTimer(2,1000); SetWindowPos(NULL,0,0,1000,700,SWP_SHOWWINDOW); CenterWindow(); RegisterStreamDirectReadCallback(StreamDirectReadCallback, this); updateSetting(); return TRUE; }
void Context::init(const Params& params) { Poco::Crypto::OpenSSLInitializer::initialize(); createSSLContext(); try { int errCode = 0; if (!params.caLocation.empty()) { Poco::File aFile(params.caLocation); if (aFile.isDirectory()) errCode = SSL_CTX_load_verify_locations(_pSSLContext, 0, Poco::Path::transcode(params.caLocation).c_str()); else errCode = SSL_CTX_load_verify_locations(_pSSLContext, Poco::Path::transcode(params.caLocation).c_str(), 0); if (errCode != 1) { std::string msg = Utility::getLastError(); throw SSLContextException(std::string("Cannot load CA file/directory at ") + params.caLocation, msg); } } if (params.loadDefaultCAs) { errCode = SSL_CTX_set_default_verify_paths(_pSSLContext); if (errCode != 1) { std::string msg = Utility::getLastError(); throw SSLContextException("Cannot load default CA certificates", msg); } } if (!params.privateKeyFile.empty()) { errCode = SSL_CTX_use_PrivateKey_file(_pSSLContext, Poco::Path::transcode(params.privateKeyFile).c_str(), SSL_FILETYPE_PEM); if (errCode != 1) { std::string msg = Utility::getLastError(); throw SSLContextException(std::string("Error loading private key from file ") + params.privateKeyFile, msg); } } if (!params.certificateFile.empty()) { errCode = SSL_CTX_use_certificate_chain_file(_pSSLContext, Poco::Path::transcode(params.certificateFile).c_str()); if (errCode != 1) { std::string errMsg = Utility::getLastError(); throw SSLContextException(std::string("Error loading certificate from file ") + params.certificateFile, errMsg); } } if (isForServerUse()) SSL_CTX_set_verify(_pSSLContext, params.verificationMode, &SSLManager::verifyServerCallback); else SSL_CTX_set_verify(_pSSLContext, params.verificationMode, &SSLManager::verifyClientCallback); SSL_CTX_set_cipher_list(_pSSLContext, params.cipherList.c_str()); SSL_CTX_set_verify_depth(_pSSLContext, params.verificationDepth); SSL_CTX_set_mode(_pSSLContext, SSL_MODE_AUTO_RETRY); SSL_CTX_set_session_cache_mode(_pSSLContext, SSL_SESS_CACHE_OFF); initDH(params.dhParamsFile); initECDH(params.ecdhCurve); } catch (...) { SSL_CTX_free(_pSSLContext); throw; } }