BUG: Adding Method to Custom Interface Causes MIDL2269

ID: Q192626


The information in this article applies to:


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.


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.


Additional query words:


Keywords          : kbwizard kbClassView kbide kbMiscTools kbVC500bug kbVC600bug kbGrpDSTools 
Version           : WINNT:5.0,6.0
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: August 5, 1999