2010-05-27 6 views
1

모두C++ DLL 최신 버전

Visual Studio를 사용하여 작성된 C++ COM DLL이 있습니다. 모든 인터페이스에는 idl 및 rgs 파일에 GUID가 있습니다. 우리는 새로운 GUID를 가진 새로운 DLL을 만들고 싶습니다. 기존의 GUID와는 다른 로직을 사용하여 동일한 시스템에 공존 할 수 있기를 원합니다. GUID 수는 200 개가 넘습니다. GUID를 찾고 바꿀 수있는 도구가 있습니까? idl 파일의 모든 GUID에 대해 rgs 파일에 3 개의 동일한 GUID가 있음을 발견했습니다.

나는 C++ COM에 정말 아니라고하지만 난이 완수해야한다 :

RGDS, MK을

+0

모든 단일 인터페이스가 변경됩니까? 나는 어떤 의미에서 COM 전문가는 아니지만, 특정 인터페이스가 변경되지 않으면 해당 GUID를 변경할 필요가 없다고 생각합니다. COM 개체 자체를 식별하는 단일 GUID를 변경하십시오. 그러나 변경되지 않은 인터페이스에서 guids를 동일하게 두십시오. –

+0

거의 모든 것이 바뀌 었습니다. – koumides

+0

첫 번째 인터페이스와 완전히 동일한 인터페이스를 가진 새로운 COM DLL을 의미합니까? –

답변

0

우리는 다음과 같은 바보하지만 작업 방식 사용 : 우리가 저장 모든 COM 클래스에 관련된 GUID를하고 .idl 파일에 포함 된 하나의 헤더에 #define으로 인터페이스합니다. 호환성을 깨뜨릴 필요가있을 때 파일을 열고 모든 GUID를 수동으로 바꿉니다. 매우 우아하지는 않지만 신뢰할 만하고 작동합니다.

내 제안은 프로젝트에서 모든 GUID를 검색하고 바꿉니다. 나는 한 곳에서 그들을 동시에 움직이는 것이 더 낫다고 생각합니다.