FIX: Adding Method to Custom Interface Causes MIDL2269 (192626)



The information in this article applies to:

  • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
  • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
  • Microsoft Visual C++, 32-bit Professional Edition 5.0
  • Microsoft Visual C++, 32-bit Professional Edition 6.0
  • Microsoft Visual C++, 32-bit Learning Edition 6.0

This article was previously published under Q192626

SYMPTOMS

Adding a method to an ATL class generates the following compile time error:
MIDL2269 : procedures in an object interface must return an HRESULT

CAUSE

The method implements a custom interface, does not use the [local] attribute, and does not return a value of type HRESULT.

RESOLUTION

Add the [local] attribute to either the interface or the method.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

This problem was corrected in Microsoft Visual C++ .NET.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a default ATL project.
  2. Right-click the project in ClassView and select New Class.
  3. In the New Class dialog box, select ATL Class as the class type.
  4. Enter a name for the class, and select Custom for the Interface type. Click OK.
  5. Right-click the interface in ClassView and select Add Method.
  6. In the "Add Method to Interface" dialog box, select any return type other than HRESULT.
  7. Enter a method name, and specify the parameters. Click OK.
  8. Build the project.

Modification Type:MajorLast Reviewed:12/10/2003
Keywords:kbBug kbClassView kbfix kbide kbMiscTools kbNoUpdate kbwizard KB192626