본문 바로가기

쓰기

ATPluginFrame 을 테스트중에 발견한건데, 후킹된 프로그램을 그냥 종료할 때
OnObjectClose 및 OnPluginClose 가 불리지 않는 것 같은 인상이 있군요?

MessageBox 도 뜨지 않고 file 로 log 를 뽑아봐도 나오지 않는데.. 실제로 불리지만
프로그램이 종료되면서 미처 log 나 MessageBox 가 열리지 않는 건지도 모르겠습니다만..
답변해 주실 분은 아랄님밖에 없는 것 같아서..

그리고 저번에 ATPluginFrame 테스트 버전 말미에 아랄님께 말씀드린 것이 아직 별 답변이
없는데.. 어떻게 안 될까요?

여기 다시 적자면..
////
아랄트랜스 0.2 및 0.3 겸용으로 플러그인을 만드는 것이 가능한 것 같습니다만, 아랄트랜스 0.3의
구버전 플러그인 체크가 아마도 PreTranslate 등의 익스포트 함수의 존재여부로 체크하는 듯 해서
겸용으로 만들어도 구버전으로 인식되더군요.

그래서.. 플러그인 체크 알고리즘을 GetPluginInfo 함수가 존재하는지 여부로 바꾸실 생각은 없으신지요?
이 함수는 확실히 0.3용 플러그인에서만 존재하니까요.
////
... 였습니다;

그리고.. TRANSLATION_OBJECT 에서 알려지지 않은 부분들 (hPlugin, wszObjectOption,
pObjectExtention 등) 은 무엇을 뜻하는지 궁금하기도 합니다...

아참, 하나 더. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지
아는 방법이 있을까요?
분류 :
Talk
조회 수 :
12736
등록일 :
2009.12.23
00:10:12
엮인글 :
https://arallab.hided.net/30711/186/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/30711

Hide_D

2009.12.23
00:20:45
아 어떤 컨텍스트로 불렸는지 아는 방법은 꼭 있어야 됩니다.

안그러면 분기 필터가 엉망이 될게 뻔해서

아랄

2009.12.23
22:27:53
안녕하세요 whoami님 ^^

1. OnObjectClose 및 OnPluginClose 호출 문제
확인해 보겠습니다.

2. 구버전 필터 체크 알고리즘을 GetPluginInfo 함수가 존재하는지 여부로 판단
네, 다음 버전에 로직을 바꾸겠습니다.
업데이트 되는대로 여기 게시판에 글 올리겠습니다.

3. hPlugin, wszObjectOption, pObjectExtention 의 의미
hPlugin : 플러그인 자신의 모듈 핸들입니다.  핸들 검증 용도로도 쓰일 수 있으며, 컨텍스트 내에 사용된 모든 플러그인을 추적하는 필터를 만들어야 한다면 이 핸들을 사용할 수도 있겠습니다.
wszObjectOption : 객체의 옵션 스트링 버퍼입니다. 플러그인의 옵션 스트링 버퍼와 같은 맥락으로 생각하시면 됩니다.
pObjectExtention : 필터 제작자가 마음대로 사용할 수 있는 변수입니다. OnObjectInit 시에 어떤 포인터를 세팅해도 되고 필요없으면 NULL을 넣어도 됩니다. 항상 유지되는 값입니다.

4. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지 아는 방법
현재 컨텍스트의 이름을 얻는 것 외에는 대부분 원하는게 가능할 것 같습니다. pObjectExtention 에 어떤 객체의 포인터를 넣어 놓고, procTranslate 가 호출되었을 때 그 값을 객체로 캐스팅해서 사용하면 객체의 분기문제도 해결될 수 있을 것 같네요.


List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
149 Talk 죄송해요 ㅠ_ㅠ SVN 위치 trunk -> trunk2 로 옮겨주세요. Hide_D 10477   2008-10-01 2009-01-06 01:24
제가 세팅을 잘못한 모양인지 trunk 그 상태로는 도저히 원상 복구가 안되네요 ㅠ_ㅠ 죄송합니다 위치를 trunk에서 trunk2로 바꿔주시면 감사하겠습니다  
148 Talk SVN 말이죠 ㅠ_ㅠ [3] file Hide_D 11128   2008-09-29 2009-01-06 01:24
 
147 Talk [질문] J2kEngine.dll 에관해 이것저것 [3] 호기심맨 16881   2008-09-29 2009-01-06 01:24
회원님들이 올려주신 소스와 답변덕에 더디지만 조금씩 EzTranceXp안에 UserDict.jk 파일 편집프로그램을 완성해 나가고 있습니다. 다시 한번 모든분들께 감사드리고요 (꾸벅) 염치없지만 다시 막힌부분에서 질문 또 올리게 되었습니다. 1. dll 파일에서 함수...  
146 Talk ...? [3] file 북극 12001   2008-09-28 2008-12-30 08:55
 
145 Archive [플러그인] OutRuby 테스트 버전 20080927 [2] file Hide_D 10236   2008-09-27 2008-10-12 03:58
 
144 Talk 으아아앍 SVN [1] Hide_D 10267   2008-09-27 2009-01-06 01:24
구조가 꼬였네요 orz 어쩌지[...]  
143 Archive [플러그인] DivideLine 테스트 버전 20080927 [1] file Hide_D 10926   2008-09-27 2009-01-06 01:24
 
142 Talk 픽스 라인 연기로 인한 임시 대책 Hide_D 10821   2008-09-26 2009-01-06 01:24
본래 목적인 FixLine이 완성이 늦춰지면서 약간 작전을 변경하도록 하겠습니다. FixLine을 완성시키는 것은 유지하고 FixLine을 3개로 쪼갭니다. OutRuby : FixLine의 TextOnly옵션 DivideLine : FixLine의 Base 기능(DCOnly 대체용) FixChar : FixLine의 Add...  
141 Archive [플러그인] DenyWord 테스트 버전 20080924 [1] file Hide_D 10891   2008-09-24 2009-01-06 01:24
 
140 Talk 일단, 옵션창 이렇게 생기면 되나요? file Hide_D 11569   2008-09-22 2009-01-06 01:25
 
139 Talk 조만간 멀티플러그인은 기본 기능으로 흡수시킬까 합니다. 아랄 11346   2008-09-21 2009-01-06 01:25
그리고 ExtTextOut문제를 빨리 해결.. 기리기리 최신 패턴에 대한 업데이트 SVN 저장소 정리하기 등등.. 할게 많군여 ;;  
138 Talk 히데님께 문의 해요! [2] file 라파에 11922   2008-09-21 2009-01-06 01:25
 
137 Archive [플러그인, 소스] DenyWord 테스트 버전 20080921 file Hide_D 13927   2008-09-21 2009-01-06 01:25
 
136 Archive [플러그인, 소스] DenyWord 테스트 버전 20080917 file Hide_D 9665   2008-09-17 2009-01-06 01:25
 
135 Talk 하루카 원문 [1] 나는누구인감? 10337   2008-09-16 2008-09-17 01:00
원문  
134 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 17632   2008-09-15 2009-01-06 01:57
 
133 Archive [플러그인, 소스] OriginalText 테스트버전 [4] file Hide_D 13990   2008-09-12 2009-04-22 11:10
 
132 Archive [플러그인, 소스] FixLine 테스트 버전 Archive2(09.14 12:49갱신) [1] file Hide_D 16618   2008-09-12 2009-01-06 01:57
 
131 Talk DenyWord 변경한 내용입니다 Hide_D 9493   2008-09-11 2008-09-11 23:04
1. 일단 EXACT를 추가했습니다. 정보(옵션버튼), 플러그인초기화부분, DenyWord클래스의 초기화부분이 변경되었고 실제 처리부분에서는 먼저 처리를 해준 다음 if문 대신 루프의 n값을 0으로 고쳐 루프를 돌지 않도록 처리했습니다. 2. 1바이트인지 확인하는 ...  
130 Archive [플러그인, 소스] ATCode 테스트 버전 20080911 [3] file whoami 9210   2008-09-11 2009-01-06 01:01