How to choose between E_NOTIMPL and E_NOINTERFACE?

I managed to confuse myself whether I should return E_NOTIMPLeither E_NOINTERFACEfrom my COM server methods.

I have a class with two functions that I redefined from an inherited class, both of these functions do nothing, because they are not supported at the moment, so I ask to use the "not implemented" or "no" interface for these functions return values?

Does anyone have a general rule on when to use each?

+5
source share
3 answers

, QueryInterface E_NOINTERFACE, - , E_NOTIMPL ( ). , E_NOINTERFACE .

+6

, E_NOINTERFACE. / , E_NOTIMPL.

+3

You (formally) implement the interface, so it’s E_NOINTERFACEnot for you. It happens that you have methods that are not implemented, so you should return E_NOTIMPL.

+2
source

All Articles