오후 7:33 2008-05-23
web activex/atlcom에서 variant로 인자를 받아야 하는 경우
조경민 bro@shinbiro.com
================================================================


vbscript를 사용하면 인자 전달은 variant로 받도록 하자.


매개 변수 패싱
http://www.ihelpers.co.kr/programming/tipntech.php?CMD=view&IDX=19


매개 변수 패싱 
권고 사항
Out 매개 변수를 Variant로 선언합니다. Visual Basic 용어에서 이것은 By Reference 매개 변


수가 Variant가 되어야 한다는 것을 의미합니다. By Value로 패스된 매개 변수(In 매개 변수)


는 Variant로 제한되지 않지만 Variant와 호환되어야 합니다.


이유
스크립팅 클라이언트는 Variant를 말합니다. COM 서버는 특정 데이터 형식을 말할 수 있습니


다. 특정 데이터 형식 By Value를 COM 서버에 패스할 때, COM 서버는 문제 없이 이들을 수신


합니다. 그러나 이것이 Variant가 아닌 경우, By Reference 인수는 ASP 스크립트에 재전송을


할 수 없습니다.


일반적인 함정
가장 일반적인 오류 중 하나는 Type Mismatch(형식 불일치)입니다. 일반적으로 이것은 By


Reference 변수가 Variant 이외의 것으로서 COM 객체에 패스되기 때문입니다. 일반적인 작업


방식은 By Value 매개 변수를 패스하거나 또는 매개 변수를 Variant로 변경하는 것입니다.


자세한 정보
컴퓨터간에 컴포넌트를 분배하거나 또는 프로세스 외(out-of-process)에서 컴포넌트를 실행한


다면, 매개 변수 By Value를 패스하여 성능 향상을 극대화할 수 있습니다. Passing By


Reference를 패스하면 데이터가 상호간에 전송되어야 하기 때문에 프로세스 또는 컴퓨터간에


더 많은 오버헤드를 발생시킵니다. 매개 변수 By Reference를 패스해야 할 필요가 실제로 없


을 때 매개 변수 By Value를 패스하는 것을 교정과 효율성을 위해서입니다. 기본적으로


Visual Basic은 매개 변수 By Reference를 패스합니다.


다음 KB 기사는 ASP로부터 매개 변수를 COM 객체로 패스하는 방법을 설명합니다.


Q197956 PRB: Passing Parameters By Reference to a VB COM Object (By Reference 매개 변수


를 VB COM 객체로 패스하기) 
Q197957 PRB: Passing Parameters By Reference to a VC COM Object (By Reference 매개 변수


를 VC COM 객체로 패스하기) 


 



Using EntireX DCOM Wrapper Objects with Web Scripting Languages
---------------------------------------
http://documentation.softwareag.com/Crossvision/eli/dcomWrapper/dcomWrapper_webScriptin


g.htm


Scripting languages such as VBScript pass output parameters by VARIANT references, not


as the exactly defined type. For example, when a method of a COM interface has an out


parameter of type string, VBScript passes a reference to a VARIANT to get the out


parameter.

'KB > MFC/Win32' 카테고리의 다른 글

네트워크 정보 얻어오는 방법  (0) 2009.02.01
[windows] Multiprocessor Considerations for Kernel-Mode Drivers  (0) 2008.03.19
Windbg 덤프 분석  (0) 2008.01.14
FAT Filesystem Long File Name 처리  (0) 2007.06.19
SBSC MBSC Unicode ????  (0) 2007.06.19

+ Recent posts