COM, ATL

HRESULT

디버그정 2008. 8. 13. 18:25

HRESULT may take many possible values:

1.         S_OK ? Success. Value is 0.

2.         S_FALSE ? Function works fine, and the returned boolean is false. Value is 1.

3.         E_NOINTERFACE ? The QueryInterface function did not recognize the requested interface. The interface is not supported.

4.         E_NOTIMPL ? The function contains no implementation.

5.         E_FAIL ? An unspecified failure has occurred.

6.         E_OUTOFMEMORY ? The function failed to allocate necessary memory.

7.         E_POINTER ? Invalid pointer.

8.         E_INVALIDARG ? One or more arguments are invalid.

9.         E_UNEXPECTED ? A catastrophic failure has occurred.

10.      E_HANDLE ? Invalid handle.

11.      E_ABORT ? Operation aborted.

12.      DISP_E_BADPARAMCOUNT ? The number of elements provided to DISPPARAMS is different from the number of parameters accepted by the method or property.

13.      DISP_E_BADVARTYPE ? One of the parameters in rgvarg is not a valid variant type. 

14.      DISP_E_EXCEPTION ? The application needs to raise an exception. In this case, the structure passed in pExcepInfo should be filled in.

15.      DISP_E_MEMBERNOTFOUND ? The requested member does not exist, or the call to Invoke tried to set the value of a read-only property.

16.      DISP_E_NONAMEDARGS ? This implementation of IDispatch does not support named parameters.

17.      DISP_E_OVERFLOW ? One of the parameters in rgvarg could not be coerced to the specified type.

18.      DISP_E_PARAMNOTFOUND ? One of the parameter DISPIDs does not correspond to a parameter on the method. In this case, puArgErr should be set to the first parameter that contains the error.

19.      DISP_E_TYPEMISMATCH ? One or more of the parameters could not be coerced. The index within rgvarg of the first parameter with the incorrect type is returned in the puArgErr parameter.

20.      DISP_E_UNKNOWNINTERFACE ? The interface identifier passed in riid is not IID_NULL.

21.      DISP_E_UNKNOWNLCID ? The member being invoked interprets string parameters according to the LCID, and the LCID is not recognized. If the LCID is not needed to interpret parameters, this error should not be returned.

22.      DISP_E_PARAMNOTOPTIONAL ? A required parameter was omitted.

'COM, ATL' 카테고리의 다른 글

Why type library marshaling?  (0) 2008.08.14
COM Architecture : Interface Marshaling, IDispatch interface  (0) 2008.08.14
디스패치 구현부...참조  (0) 2008.08.14
컴포넌트 관련 define 문  (0) 2008.08.13
Silan Liu의 COM과 ATL.html  (0) 2008.08.13
REGSVR32 사용법  (0) 2008.08.12
COM 기본 개념 ~~ 정리해 보자  (0) 2008.08.08