/*! * \file HackShield.h * \brief Hackshield wrapper ÆÄÀÏ * \author ±è°æÇ¥( lammy@webzen.co.kr ) * \version 2009/02/11 doxygen Ä¿¸ÇÆ® ÀÛ¼º */ #ifdef __NA000000_070913_HACKSHIELD_INSTALLATION__ #ifndef __HACK_SHIELD_H__ #define __HACK_SHIELD_H__ #define HSUPCHK_INCLUDE_PATH( v ) #include #include HSUPCHK_INCLUDE_PATH( HACKSHIELD_VERSION ) #if (HACKSHIELD_VERSION >= 5040501) && (WZENGINEVER >= 300) #define _HACKSHIELD_CHECK_TIMER_API_FUNCTION_ // ÇÔ¼öÆ÷ÀÎÅÍ º¯Á¶ üũ #endif //(HACKSHIELD_VERSION >= 5040501) && (WZENGINEVER >= 300) class HackShield : public Singleton { enum { kMinute_Wait_Time = 60 * 1000, }; public: HackShield(); ~HackShield(); /*! * ÇÙ½¯µå °ü·Ã ¸ðµâÀ» ÃʱâÈ­ * \return ¼º°ø TRUE * \return ½ÇÆÐ FALSE */ BOOL HS_Init(); /*! * ÇÙ½¯µå ¼­ºñ½º¸¦ ½ÃÀÛ * \return ¼º°ø TRUE * \return ½ÇÆÐ FALSE */ BOOL HS_StartService(); /*! * ÇÙ½¯µå ¼­ºñ½º¸¦ Á¾·á * \return ¼º°ø TRUE * \return ½ÇÆÐ FALSE */ BOOL HS_StopService(); /*! * ¸ðµâÀ» ¸±¸®Áî ÇÑ´Ù. * \return ¼º°ø TRUE * \return ½ÇÆÐ FALSE */ BOOL HS_UnInit(); /*! * ȣȯ¼º¸ðµåÀÎÁö üũ ÇÔ¼ö - ȣȯ¼º ¸ðµå·Î µ¹¾Æ°¡¸é ¾ÈµÊ * \return ȣȯ¼º¸ðµå TRUE * \return ȣȯ¼º¸ðµå¾Æ´Ô FALSE */ BOOL CheckCompatibilityMode(); /*! * ÇÙ½¯µå¿ë ¸Þ½ÃÁö ¹Ú½º. ¿£ÁøÀÌ ·ÎµåµÇ±âÀü°ú ÈÄ Áö¿ø * \param[in] szMessage ¸Þ½ÃÁö³»¿ë */ static void HSMessageBox( LPCTSTR szMessage ); static int __stdcall HS_CallbackProc(long lCode, long lParamSize, void * pParam); static LONG WINAPI Game_UnhandledExceptionHandler(struct _EXCEPTION_POINTERS* lpTopLevelExcptionFilter); static LRESULT CALLBACK MessageBoxProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); private: TCHAR title_[MAX_PATH]; DWORD check_variable_crc_; static TCHAR error_message_[MAX_PATH]; }; #endif //__HACK_SHIELD_H__ #endif //__NA000000_070913_HACKSHIELD_INSTALLATION__