#ifndef _ANTICPX_SERVER_H_ #define _ANTICPX_SERVER_H_ // À¯È¿ÇÏÁö ¾ÊÀº ÇÚµéÀ» ÀǹÌÇÑ´Ù #define ANTICPX_INVALID_HANDLE_VALUE (0) ////////////////////////////////////////////////////////////////////////// // ¿¡·¯ ÄÚµå ////////////////////////////////////////////////////////////////////////// #define ANTICPXSVR_BASECODE_ERROR 0xE9040000 // ÆÄÀÏ¿¡ Á¢±Ù ±ÇÇÑÀÌ ¾ø½À´Ï´Ù #define ERROR_ANTICPXSVR_FILE_ACCESS_DENIED (ANTICPXSVR_BASECODE_ERROR + 0x1) // ÆÄÀÏÀ» ãÀ» ¼ö°¡ ¾ø½À´Ï´Ù #define ERROR_ANTICPXSVR_FILE_NOT_FOUND (ANTICPXSVR_BASECODE_ERROR + 0x2) // ÀԷ°ªÀÌ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define ERROR_ANTICPXSVR_INVALID_PARAMETER (ANTICPXSVR_BASECODE_ERROR + 0x3) // ¿Ã¹Ù¸¥ Æ÷¸äÀÌ ¾Æ´Õ´Ï´Ù #define ERROR_ANTICPXSVR_BAD_FORMAT (ANTICPXSVR_BASECODE_ERROR + 0x4) // ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ» ¹ÞÁö ¾Ê¾Ò½À´Ï´Ù #define ERROR_ANTICPXSVR_NOT_YET_RECEIVED_RESPONSE (ANTICPXSVR_BASECODE_ERROR + 0x5) // ´ë±âÇϰí ÀÖÁö ¾Ê½À´Ï´Ù #define ERROR_ANTICPXSVR_NO_WAITING (ANTICPXSVR_BASECODE_ERROR + 0x6) // ¸Þ¸ð¸®°¡ ºÎÁ·ÇÕ´Ï´Ù #define ERROR_ANTICPXSVR_NOT_ENOUGH_MEMORY (ANTICPXSVR_BASECODE_ERROR + 0x7) // ¼Û¼ö½ÅµÈ ¸Þ½ÃÁö°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù #define ERROR_ANTICPXSVR_BAD_MESSAGE (ANTICPXSVR_BASECODE_ERROR + 0x8) // ÆÐŶ ºÐ¼®À» À§ÇÑ ÀçÀü¼Û °ø°ÝÀÌ °¨ÁöµÇ¾ú½À´Ï´Ù #define ERROR_ANTICPXSVR_REPLY_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0x9) // ÇÙ½¯µå ¸ðµâ º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù #define ERROR_ANTICPXSVR_HSHIELD_FILE_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0xA) // Ŭ¶óÀÌ¾ðÆ® ÆÄÀÏ º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù #define ERROR_ANTICPXSVR_CLIENT_FILE_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0xB) // ¸Þ¸ð¸® º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù #define ERROR_ANTICPXSVR_MEMORY_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0xC) // ±¸ ¹öÀü Ŭ¶óÀÌ¾ðÆ® Áö¿øÀÌ ÁßÁöµÇ¾ú½À´Ï´Ù // (¼­¹ö ÁßÁö ¾øÀÌ HSB ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®ÇÏ¿´À» °æ¿ì HSB Á¤Ã¥¿¡ ±¸ ¹öÀü Ŭ¶óÀÌ¾ðÆ®¸¦ Áö¿øÇÏÁö ¾Êµµ·Ï // ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì ÀÌ ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. Á¤Ã¥¿¡ ÀÇÇÑ °ÍÀ̹ǷΠ¸í¹éÇÑ ¿À·ù´Â ¾Æ´Ï´Ù.) #define ERROR_ANTICPXSVR_OLD_VERSION_CLIENT_EXPIRED (ANTICPXSVR_BASECODE_ERROR + 0xD) // HSB ÆÄÀÏÀ» »ý¼ºÇÒ ¶§ ÁöÁ¤ÇÑ ÇÙ½¯µå ¸ðµâ°ú ¦ÀÌ ¸ÂÁö ¾Ê½À´Ï´Ù #define ERROR_ANTICPXSVR_UNKNOWN_CLIENT (ANTICPXSVR_BASECODE_ERROR + 0xE) // V3 Small Engine ÆÄÀÏÀÇ º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define ERROR_ANTICPXSVR_V3SENGINE_FILE_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0xF) // Nano Engine ÆÄÀÏÀÇ º¯Á¶°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define ERROR_ANTICPXSVR_NANOENGINE_FILE_ATTACK (ANTICPXSVR_BASECODE_ERROR + 0x10) // HackShield VersionÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù. #define ERROR_ANTICPXSVR_INVALID_HACKSHIELD_VERSION (ANTICPXSVR_BASECODE_ERROR + 0x11) // Engine VersionÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù. #define ERROR_ANTICPXSVR_INVALID_ENGINE_VERSION (ANTICPXSVR_BASECODE_ERROR + 0x12) // ¼­¹ö ¿ÀºêÁ§Æ® »ý¼º½Ã ¿¹¿Ü¹ß»ý. #define ERROR_ANTICPXSVR_CREATE_SVROBJ_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x13) // ¿ä±¸¸Þ¼¼Áö »ý¼º½Ã ¿¹¿Ü¹ß»ý. #define ERROR_ANTICPXSVR_MAKEREQ_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x14) // ÀÀ´ä¸Þ¼¼Áö È®Àνà ¿¹¿Ü¹ß»ý. #define ERROR_ANTICPXSVR_VERIFY_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x15) //Tracing Information ÀÛ¼º Áß¿¡ ¿¹¿Ü¹ß»ý. #define ERROR_ANTICPXSVR_TRACE_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x16) //CreateClientObject ÀÛ¼º Áß¿¡ ¿¹¿Ü ¹ß»ý. #define ERROR_ANTICPXSVR_CREATE_CLIENT_OBJECT_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x17) //ÇÙ½¯µå µ¿ÀÛ »óŰ¡ Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define ERROR_ANTICPXSVR_ABNORMAL_HACKSHIELD_STATUS (ANTICPXSVR_BASECODE_ERROR + 0x18) //ÇÙ½¯µå µ¿ÀÛ »óŰ¡ Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define ERROR_ANTICPXSVR_DETECT_CALLBACK_IS_NOTIFIED (ANTICPXSVR_BASECODE_ERROR + 0x19) // ÀÀ´ä¸Þ¼¼Áö_EX È®Àνà ¿¹¿Ü¹ß»ý. #define ERROR_ANTICPXSVR_VERIFYEX_EXCEPTION (ANTICPXSVR_BASECODE_ERROR + 0x1A) // ÇÙ½¯µå µ¿ÀÛ »óÅ °­È­ °Ë»ç Á¤»óÀûÀÌÁö ¾Ê½À´Ï´Ù. #define ERROR_ANTICPXSVR_ABNORMAL_HACKSHIELD_XSTATUS (ANTICPXSVR_BASECODE_ERROR + 0x1B) // ¼­¹ö¿¬µ¿ °­È­ ±â´ÉÀÌ Àû¿ëµÇÁö ¾Ê´Â ±¸ ¹öÀüÀÇ Å¬¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÏ¿´½À´Ï´Ù. #define ERROR_ANTICPXSVR_OLD_HACKSHIELD_VERSION (ANTICPXSVR_BASECODE_ERROR + 0x1C) // Á¤ÀǵÇÁö ¾ÊÀº ¿¡·¯ #define ERROR_ANTICPXSVR_UNKNOWN (ANTICPXSVR_BASECODE_ERROR + 0xFF) #if defined (WIN32) || defined(WIN64) #ifdef AHNHS_EXPORTS #define AHNHS_API __declspec(dllexport) #else #define AHNHS_API __declspec(dllimport) #endif #else #define IN #define OUT #define __stdcall #define AHNHS_API typedef unsigned long * ULONG_PTR; #endif typedef ULONG_PTR AHNHS_SERVER_HANDLE; typedef ULONG_PTR AHNHS_CLIENT_HANDLE; #ifndef __ANTICPX_TRANS_BUFFER__ #define __ANTICPX_TRANS_BUFFER__ #define ANTICPX_TRANS_BUFFER_MAX 400 #define ANTICPX_RECOMMAND_CLOSE_SESSION 101 #define ANTICPX_RECOMMAND_KEEP_SESSION 102 // Client-side CallBack Code #define AHNHS_ACTAPC_DETECT_ALREADYHOOKED 0x010101 #define AHNHS_ACTAPC_DETECT_AUTOMOUSE 0x010102 #define AHNHS_ACTAPC_DETECT_AUTOMACRO 0x010104 #define AHNHS_ACTAPC_DETECT_HOOKFUNCTION 0x010301 #define AHNHS_ACTAPC_DETECT_DRIVERFAILED 0x010302 #define AHNHS_ACTAPC_DETECT_SPEEDHACK 0x010303 //½ºÇǵåÇÙ·ùÀÇ ÇÁ·Î±×·¥¿¡ ÀÇÇØ ½Ã½ºÅÛ ½Ã°£ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_SPEEDHACK_APP 0x010304 //½ºÇǵåÇÙ·ùÀÇ ÇÁ·Î±×·¥¿¡ ÀÇÇØ ½Ã½ºÅÛ ½Ã°£ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MESSAGEHOOK 0x010306 #define AHNHS_ACTAPC_DETECT_KDTRACE 0x010307 //µð¹ö°Å Æ®·¡À̽ÌÀÌ ¹ß»ýÇß½À´Ï´Ù.(Ä¿³Î µð¹ö°Å Ȱ¼ºÈ­, ÀÌÈÄ ºê·¹ÀÌÅ© Æ÷ÀÎÅÍ Ã³¸®) #define AHNHS_ACTAPC_DETECT_KDTRACE_CHANGED 0x010308 //[¸ð´ÏÅ͸µ] ¼³Ä¡µÈ µð¹ö°Å Æ®·¡À̽ÌÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_SPEEDHACK_RATIO 0x01030B #define AHNHS_ACTAPC_DETECT_INJECTDLL_UNLOADED 0x010401 //ÇÙ½¯µå º¸È£ ¸ðµâÀÌ °­Á¦·Î ¾ð·ÎµåµÇ¾ú½À´Ï´Ù. #define AHNHS_ENGINE_DETECT_GAME_HACK 0x010501 #define AHNHS_ENGINE_DETECT_GENERAL_HACK 0x010502 #define AHNHS_ENGINE_DETECT_WINDOWED_HACK 0x010503 // â¸ðµå ÇØÅ·Åø #define AHNHS_ACTAPC_DETECT_MULTI_LOADING 0x010504 // Ŭ¶óÀÌ¾ðÆ® ¸ÖƼ ·Îµù °¨Áö. #define AHNHS_ACTAPC_DETECT_ABNORMAL_MEMORY_ACCESS 0x010601 // ÄÚµå ÆÐÄ¡ ½Ãµµ°¡ °¨ÁöµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MODULE_CHANGE 0x010701 //ÇÙ½¯µå °ü·Ã¸ðµâÀÌ º¯°æµÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_NANOENGINEFAILED 0x010702 // ³ª³ë¿£ÁøÀÌ Á¤»óµ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_CODEMISMATCH 0x010703 // HookFreeCode¿¡ ´ëÇÑ º¯Á¶°¡ °¨Áö µÇ¾ú½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_PROTECTSCREENFAILED 0x010704 // ProtectScreen(Ex)ÀÌ Á¤»óµ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_MEM_MODIFY_FROM_LMP 0x010705 #define AHNHS_ACTAPC_DETECT_LMP_FAILED 0x010706 #define AHNHS_ACTAPC_DETECT_HACKING_PROCESS 0x010707 // Code Signature¿¡ ÀÏÄ¡ÇÏ´Â ÇØÅ· µå¶óÀ̹ö¸¦ ã¾ÒÀ» °æ¿ì #define AHNHS_ACTAPC_DETECT_THREAD_STOPPING 0x010708 // º¸È£µÇ´Â ½º·¹µå°¡ °­Á¦ Á¾·áµÇ¾úÀ» °æ¿ì #define AHNHS_ACTAPC_DETECT_ABNORMAL_FUNCTION_CALL 0x010801 #define AHNHS_ACTAPC_DETECT_ANTIFREESERVER 0x010901 // GameÀÌ ¿Ã¹Ù¸¥ ¼­¹ö·Î Á¢¼ÓÀ» ÇÏÁö ¾Ê¾Ò½À´Ï´Ù. #define AHNHS_ACTAPC_DETECT_ABNORMAL_HACKSHIELD_STATUS 0x010A01 // HackShield µ¿ÀÛ »óÅ ȮÀÎ °á°ú, Á¤»ó Á¤º¸°¡ ¾Æ´Ô. #define AHNHS_ACTAPC_DETECT_SELF_DESTRUCTION 0x010A02 // HackShield µ¿ÀÛ °¨½ÃÁß, ÇØÅ·ÅøÀ» °¨ÁöÇÏ°íµµ, Á¾·áµÇÁö ¾ÊÀ» °æ¿ì, °­Á¦ Á¾·á ½ÃŲ´Ù. //[AntiCpXSvr.dll 1.0.0.10 ÀÌÈÄ ºÎÅÍ Àû¿ë] // °ÔÀӻ翡¼­ ±âº» bytealigment¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÇÙ½¯µå ¼­¹ö¿¬µ¿ ¸ðµâ Àû¿ë ÈÄ °ÔÀÓ // bytealignment°¡ º¯°æµÇ¹Ç·Î ±âÁ¸ Á¤º¸¸¦ ½ºÅÿ¡ ÀúÀå. #pragma pack(push) //±âÁ¸ alignment ÀúÀå #pragma pack(8) typedef struct _AHNHS_TRANS_BUFFER { unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX/* ¼Û¼ö½Å ÆÐŶÀÇ ÃÖ´ë Å©±â */]; unsigned short nLength; } AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER; #pragma pack(pop) // ±âÁ¸ alignment º¹±¸. #endif // __ANTICPX_TRANS_BUFFER__ #if defined(__cplusplus) extern "C" { #endif // MACRO Version #if defined (_NO_HACKSHIELD) #define AHNHS_NOT_NULL (1) // Æ÷ÀÎÅͰªÀ» ¸®ÅÏÇÏ´Â °æ¿ì, NOT NULL·Î ó¸® #define _AhnHS_CreateServerObject(arg1) AHNHS_NOT_NULL #define _AhnHS_CloseServerHandle(arg1) ; #define _AhnHS_CreateClientObject(arg1) AHNHS_NOT_NULL #define _AhnHS_CloseClientHandle(arg1) ; #define _AhnHS_MakeRequest(arg1,arg2) ERROR_SUCCESS #define _AhnHS_VerifyResponse(arg1,arg2,arg3) ERROR_SUCCESS #define _AhnHS_VerifyResponseEx(arg1,arg2,arg3,arg4) ERROR_SUCCESS #define _AhnHS_VerifyResponseEx_WithInfo(arg1,arg2,arg3,arg4,arg5) ERROR_SUCCESS #else //!_NO_HACKSHIELD /** ¼­¹ö ÇÚµé(Server Handle)À» »ý¼ºÇÑ´Ù @param const char *pszFilePath ; [ÀԷ°ª] HackShield Briefcase (.hsb) ÆÄÀÏ °æ·Î @retval ¼­¹ö ÇÚµé(Server Handle) @remarks ¼­¹öÇÚµéÀ» ¿Ã¹Ù¸£°Ô »ý¼ºÇÏÁö ¸øÇßÀ» °æ¿ì NULL °ªÀ» ¸®ÅÏÇÑ´Ù. º¸Åë HackShield Briefcase (.hsb) ÆÄÀÏ °æ·Î°¡ ¿Ã¹Ù¸£Áö ¾ÊÀ» °æ¿ì³ª ½Ã½ºÅÛ ¸®¼Ò½º(¸Þ¸ð¸®)°¡ ºÎÁ·ÇÒ °æ¿ì ¹ß»ýÇÑ´Ù. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API AHNHS_SERVER_HANDLE __stdcall _AhnHS_CreateServerObject ( IN const char *pszFilePath ); /** ¼­¹ö ÇÚµé(Server Handle)À» ´Ý´Â´Ù @param AHNHS_SERVER_HANDLE hServer ; [ÀԷ°ª] ¼­¹ö ÇÚµé(Server Handle) @retval ¾øÀ½ @remarks »ý¼ºÇÑ ¼­¹öÇÚµéÀº ¼­¹ö ÇÁ·Î¼¼½º³ª ¼­ºñ½º ÇÁ·Î¼¼½º°¡ Á¾·áÇÒ ¶§ ´Ý¾ÆÁÖ¾î¾ß ¼­¹öÇÚµé »ý¼º¿¡ »ç¿ëµÇ¾ú´ø ¸Þ¸ð¸®³ª ½Ã½ºÅÛ ÀÚ¿øÀ» ÇØÁ¦ÇϰԵȴÙ. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API void __stdcall _AhnHS_CloseServerHandle ( IN AHNHS_SERVER_HANDLE hServer ); /** Ŭ¶óÀÌ¾ðÆ® ÇÚµé(Client Handle)À» »ý¼ºÇÑ´Ù @param AHNHS_SERVER_HANDLE hServer ; [ÀԷ°ª] ¼­¹ö ÇÚµé(Server Handle) @retval Ŭ¶óÀÌ¾ðÆ® ÇÚµé(Client Handle) @remarks ¼­¹ö ÇÚµéÀ» ÀÔ·Â ¹Þ¾Æ Ŭ¶óÀÌ¾ðÆ® ÇÚµéÀ» »ý¼ºÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ® ÇÚµéÀº Ŭ¶óÀÌ¾ðÆ®°¡ Á¢¼ÓÇÒ ¶§ ¸¶´Ù »ý¼ºÇϸç, ¼¼¼ÇÀÌ À¯ÁöµÇ´Â µ¿¾È ÇÚµéÀ» ´ÝÁö ¾Ê°í Àç»ç¿ëÇÑ´Ù. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API AHNHS_CLIENT_HANDLE __stdcall _AhnHS_CreateClientObject ( IN AHNHS_SERVER_HANDLE hServer ); /** Ŭ¶óÀÌ¾ðÆ® ÇÚµé(Client Handle)À» ´Ý´Â´Ù @param AHNHS_CLIENT_HANDLE hClient ; [ÀԷ°ª] Ŭ¶óÀÌ¾ðÆ® ÇÚµé(Client Handle) @retval ¾øÀ½ @remarks »ý¼ºÇÑ Å¬¶óÀÌ¾ðÆ® ÇÚµéÀº Ŭ¶óÀÌ¾ðÆ® ¼¼¼ÇÀÌ Á¾·áµÉ ¶§ ÇØÁ¦µÇ¾î¾ß ÇÑ´Ù. À̶§ Ŭ¶óÀÌ¾ðÆ® ÇÚµé »ý¼º¿¡ »ç¿ëµÇ¾ú´ø ¸Þ¸ð¸®³ª ½Ã½ºÅÛ ÀÚ¿øÀ» ÇØÁ¦ÇϰԵȴÙ. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API void __stdcall _AhnHS_CloseClientHandle ( IN AHNHS_CLIENT_HANDLE hClient ); /** Ŭ¶óÀ̾ðÆ®ÀÇ ÇØÅ· ½Ãµµ¸¦ °¨ÁöÇϱâ À§ÇØ ¿äû(¸Þ½ÃÁö)¸¦ »ý¼ºÇÑ´Ù. @param AHNHS_CLIENT_HANDLE hClient ; [ÀԷ°ª] Ŭ¶óÀÌ¾ðÆ® ÇÚµé PAHNHS_TRANS_BUFFER pRequestBuffer ; [Ãâ·Â°ª] º¸³¾ µ¥ÀÌÅÍ ¹öÆÛ/±æÀÌ @retval ERROR_ANTICPXSVR_xxx Çü½ÄÀ¸·Î Á¤ÀǵǾî ÀÖ´Â ¿¡·¯ ÄÚµå @remarks ÇöÀç ¼¼¼Ç¿¡ ¸Â´Â Ŭ¶óÀÌ¾ðÆ® ÇÚµéÀ» ÀÔ·ÂÇÏ¿© ¿äû ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ´Ù. ¿äû ¸Þ½ÃÁö´Â AHNHS_TRANS_BUFFER ±¸Á¶Ã¼ ÇüÅ·ΠÃâ·ÂµÇ¸ç, ¸â¹ö º¯¼ö °ªÀº ´ÙÀ½°ú °°´Ù. typedef struct _AHNHS_TRANS_BUFFER { unsigned short nLength; unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX]; // ¼Û¼ö½Å ÆÐŶÀÇ ÃÖ´ë ¹öÆÛ Å©±â } AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER; nLength ; ¿äû ¸Þ½ÃÁö »ý¼º¿¡ »ç¿ëµÈ ¹öÆÛ ±æÀÌ byBuffer ; ¿äû ¸Þ½ÃÁö »ý¼º¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ÃÖ´ë ¹ÙÀÌÆ® ¹öÆÛ ÁÖÀÇ »çÇ×!!! byBuffer´Â ¿äû ¸Þ½ÃÁö »ý¼º¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ÃÖ´ë ¹öÆÛ Å©±âÀ̹ǷΠ³×Æ®¿öÅ©·Î Àü¼ÛÇÒ ¶§ nLength ¸¸Å­¸¸ Àü¼ÛÇØ¾ßÇÑ´Ù. Example: AHNHS_TRANS_BUFFER stReqTransBuf; ulRet = _AhnHS_MakeRequest ( hClient, &stReqTransBuf ); if ( ulRet != ERROR_SUCCESS ) return ulRet; bytesSent = send( ConnectSocket, stReqTransBuf.byBuffer, stReqTransBuf.nLength, 0 ); ... @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API unsigned long __stdcall _AhnHS_MakeRequest ( IN AHNHS_CLIENT_HANDLE hClient, OUT PAHNHS_TRANS_BUFFER pRequestBuffer ); /** Ŭ¶óÀ̾ðÆ®ÀÇ ÀÀ´ä(¸Þ½ÃÁö)ÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÑ´Ù. @param AHNHS_CLIENT_HANDLE hClient ; [ÀԷ°ª] Ŭ¶óÀÌ¾ðÆ® ÇÚµé unsigned char *pbyResponse ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ¹öÆÛ unsigned long nResponseLength ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ±æÀÌ @retval ERROR_ANTICPXSVR_xxx Çü½ÄÀ¸·Î Á¤ÀǵǾî ÀÖ´Â ¿¡·¯ ÄÚµå @remarks _AhnHS_MakeRequest ÇÔ¼ö¸¦ ÅëÇÑ ¿äû(¸Þ½ÃÁö)¿¡ ´ëÇÑ Å¬¶óÀ̾ðÆ®ÀÇ ÀÀ´äÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÏ´Â ÇÔ¼öÀÌ´Ù. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API unsigned long __stdcall _AhnHS_VerifyResponse ( IN AHNHS_CLIENT_HANDLE hClient, IN unsigned char *pbyResponse, IN unsigned long nResponseLength ); /** Ŭ¶óÀ̾ðÆ®ÀÇ ÀÀ´ä ¸Þ½ÃÁö¸¦ °ËÁõÇÏ¿© Ŭ¶óÀÌ¾ðÆ® ¼¼¼Ç Á¾·á¿©ºÎ¸¦ ¸®ÅÏÇÑ´Ù. @param AHNHS_CLIENT_HANDLE hClient ; [ÀԷ°ª] Ŭ¶óÀÌ¾ðÆ® ÇÚµé unsigned char *pbyResponse ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ¹öÆÛ unsigned long nResponseLength ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ±æÀÌ unsigned long *pnErrorCode ; ¿À·ù ÄÚµå @retval ANTICPX_RECOMMAND_CLOSE_SESSION : Ŭ¶óÀÌ¾ðÆ® Á¢¼Ó ¼¼¼Ç Á¾·á ±ÇÀå ANTICPX_RECOMMAND_KEEP_SESSION : Ŭ¶óÀÌ¾ðÆ® Á¢¼Ó ¼¼¼Ç À¯Áö ±ÇÀå @remarks ³»ºÎÀûÀ¸·Î _AhnHS_VerifyResponse ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API unsigned long __stdcall _AhnHS_VerifyResponseEx ( IN AHNHS_CLIENT_HANDLE hClient, IN unsigned char *pbyResponse, IN unsigned long nResponseLength, OUT unsigned long *pulErrorCode ); /** Ŭ¶óÀ̾ðÆ®ÀÇ ÀÀ´ä ¸Þ½ÃÁö¸¦ °ËÁõÇÏ¿© Ŭ¶óÀÌ¾ðÆ® ¼¼¼Ç Á¾·á¿©ºÎ¸¦ ¸®ÅÏÇÑ´Ù. @param AHNHS_CLIENT_HANDLE hClient ; [ÀԷ°ª] Ŭ¶óÀÌ¾ðÆ® ÇÚµé unsigned char *pbyResponse ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ¹öÆÛ unsigned long nResponseLength ; Ŭ¶óÀÌ¾ðÆ®·Î ºÎÅÍ ¹ÞÀº µ¥ÀÌÅÍ ±æÀÌ unsigned long *pulErrorCode ; ¿À·ù ÄÚµå unsigned long *pulSpecificErr ; pnErrorCode ¿À·ù °ªÀ» º¸ÃæÇÏ´Â ¿¡·¯ÄÚµå @retval ANTICPX_RECOMMAND_CLOSE_SESSION : Ŭ¶óÀÌ¾ðÆ® Á¢¼Ó ¼¼¼Ç Á¾·á ±ÇÀå ANTICPX_RECOMMAND_KEEP_SESSION : Ŭ¶óÀÌ¾ðÆ® Á¢¼Ó ¼¼¼Ç À¯Áö ±ÇÀå @remarks ³»ºÎÀûÀ¸·Î _AhnHS_VerifyResponse ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. @see È®Àå ¼­¹ö¿¬µ¿ Quick Guide¸¦ Âü°íÇØ ÁÖ¼¼¿ä. */ AHNHS_API unsigned long __stdcall _AhnHS_VerifyResponseEx_WithInfo( IN AHNHS_CLIENT_HANDLE hClient, IN unsigned char *pbyResponse, IN unsigned long nResponseLength, OUT unsigned long *pulErrorCode, OUT unsigned long *pulSpecificError ); #endif // _NO_HACKSHIELD #if defined(__cplusplus) } #endif #endif // _ANTICPX_SERVER_H_