본문 바로가기

전체 글

[COM] Type Library 타입 라이브러리는 인터페이스 정의의 이진 형식 IDL정의시 library 키워드 사용 타입 라이브러리 생성 // 타입 라이브러리 파일 생성 ICreateTypeLib2 * pCreateTypeLib2; CreateTypelib2(SYS_WIN32, L"C:\\mylib.tlb",&pCreateTypeLib2); // 타입 정보 추가 ICreateTypeInfo * pCreateTypeInfoInterface; pCreateTypeLib2->CreateTypeInfo(L"IUser", TKIND_INTERFACE, &pCreateTypeInfoInterface); 타입 정보 얻기 ITypeLib* pTypeLib; LoadRegTypeLib(LIBID_User, 1, 0, LANG_NEUTRAL, &pTy.. 더보기
[COM] Component Category 인터페이스가 많아지면 규모성의 문제가 생김 -> 특정 인터페이스들을 지원하는 컴포넌트를 카테고리 별로 분류 클라이언트 프로그램은 레지르스트리를 빠르게 검색하여 특정 카테고리를 지원하는 컴포넌트를 구별하여 인스턴스화 함 카테고리 구별자 CATID HKEY_CLASSES_ROOT > Component Categories HKEY_CLASSES_ROOT > CLSID 컴포넌트 객체는 Implemented Categories 레지스트리 키를 사용하여 자신이 지원하는 컴포넌트 카테고리들을 알린다. 컴포넌트 객체는 Required Categories 레지스트리 키를 사용하여 자신이 받아들일 수 있는 클라이언트의 카테고리를 알린다. ( 객체에 접근할 수 있는 클라이언트를 매우 제한하여 버리기 때문에 조심해서 사용 ).. 더보기
[COM] 오토메이션 타입 정리 헬퍼함수는 MSDN색인으로 나오지 않아서 따로 정리 하였습니다.Variant 오토메이션 호환 타입들의 Union헬퍼함수 VariantChangeType(Ex) VariantClear VariantCopy VariantCopyInd VariantInitATL 클래스 CComVariantBSTR 문자열 길이를 접두어로 포함하는 문자열헬퍼함수 SysAllocString SysAllocStringByteLen SysAllocStringLen SysFreeString SysReAllocString SysReAllocStringLen SysStringByteLen SysStringLenATL클래스 CComBSTRSafeArray 안전하게 다룰 수 있는 배열헬퍼함수 SafeArrayAccessData SafeArra.. 더보기
[COM] SafeArray 처리 #include using namespace std; #include #include void ComCall(VARIANT* pRetVal) { enum { ARR_SIZE = 5 }; VariantInit(pRetVal); short ia[ARR_SIZE] = {5, 6, 7, 8, 9 }; //넘기고자 하는 배열 SAFEARRAYBOUND sab = { ARR_SIZE, 0 }; SAFEARRAY* pSa = SafeArrayCreate(VT_VARIANT, 1, &sab); _variant_t* _p; // 만든 SA배열에 포인터를 연결시킴 SafeArrayAccessData(pSa, reinterpret_cast(&_p)); for (long i = 0; i vt = VT_VARIANT | VT_.. 더보기
전역 드디어 꿈에도 그리던 전역을 하게되었다. 2년이란 시간이 물흐르듯이 흘러간 느낌이 든다. 군대에서 잃어버린 시간도 있지만, 배운것도 많다. 군대에서 습득한 것들을 잊어버리지말고 꼭 실천하여서 사회에서 성공한 사람이 되어야지! 내일은 서울에 올라가서 동기들도보고, 동아리 선후배들도 볼예정이다. 재미있게 놀다가 내려와야겠다. 여러모로 보살펴주신분들께 감사드립니다. (_ _) 더보기