Knowledge Base

FIX: Adding Method to Custom Interface Causes MIDL2269

Article ID: 192626

Article Last Modified on 12/10/2003


APPLIES TO


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.

Keywords: kbbug kbfix kbnoupdate kbide kbmisctools kbclassview kbwizard KB192626