Microsoft KB Archive/256170

= BUG: Error C2065 When You Build an ATL COM Server with Connection Points =

Article ID: 256170

Article Last Modified on 12/11/2003

-

APPLIES TO

 Microsoft ActiveX Template Library 3.0, when used with:  Microsoft Visual C++ 6.0 Enterprise Edition

 Microsoft Visual C++ 6.0 Professional Edition

 Microsoft Visual C++ 6.0 Standard Edition 

-

<div class="notice_section">

This article was previously published under Q256170

<div class="symptoms_section">

SYMPTOMS
When you compile an Active Template Library (ATL) COM server project with connection point support, you may receive the following error messages:

testobj.h(76) : error C2065: 'IID__ITestObjEvents' : undeclared identifier

testobj.h(76) : error C2440: 'static_cast' : cannot convert from 'class CTestObj *' to 'class ATL::_ICPLocator *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast

This problem typically occurs with projects in long directory paths.

<div class="cause_section">

CAUSE
IID__ITestObjEvents is an incorrectly generated interface ID.

<div class="resolution_section">

RESOLUTION
Go to the file and line number that are listed in the error message above. In the connection point map, change IID__ITestObjEvents to DIID__ITestObjectEvents as follows: BEGIN_CONNECTION_POINT_MAP(CTestObject) //CONNECTION_POINT_ENTRY(IID__TestObjectEvents) CONNECTION_POINT_ENTRY(DIID__ITestObjectEvents) END_CONNECTION_POINT_MAP

<div class="status_section">

STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

<div class="moreinformation_section">

Steps to Reproduce Behavior
To reproduce this bug, perform the following steps: <ol> Obtain the ATL Tutorial. In the MSDN version that shipped with Microsoft Visual C++ version 6.0 and later, search for "ATL Tutorial". You can also find this tutorial at the following Web site:

http://msdn.microsoft.com/library/devprods/vs6/visualc/vcmfc/_atl_atl_tutorial.htm

</li> Follow the tutorial steps 1, 2, and 5 (you can omit steps 3 and 4) and create an ATL COM server in a long directory path; for instance, "C:\Program Files\Microsoft Visual Studio".</li> Build the application.</li></ol>

Keywords: kbbug kbconnpts kbpending KB256170

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.