COM中常用宏的总结(一)
1)STDMETHOD:定义了一个返回HRESULT类型的虚方法。
#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下:
#ifdef _WIN32 // Win32 doesn't support __export
#define STDMETHODCALLTYPE __stdcall
#else
#define STDMETHODCALLTYPE __export __stdcall
#endif
2)STDMETHOD_:定义了一个返回指定类型的虚方法。
#define STDMETHOD_(type,method) virtual type STDMETHODCALLTYPE method
其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下:
#ifdef _WIN32 // Win32 doesn't support __export
#define STDMETHODCALLTYPE __stdcall
#else
#define STDMETHODCALLTYPE __export __stdcall
#endif
3)STDMETHODIMP:定义了一个返回HRESULT的接口函数。
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下:
#ifdef _WIN32 // Win32 doesn't support __export
#define STDMETHODCALLTYPE __stdcall
#else
#define STDMETHODCALLTYPE __export __stdcall
#endif
4)STDMETHODIMP_:定义了一个返回指定类型的接口函数。
#define STDMETHODIMP_(type) type STDMETHODCALLTYPE
其中,STDMETHODCALLTYPE定义了参数传递的方法类型,如下:
#ifdef _WIN32 // Win32 doesn't support __export
#define STDMETHODCALLTYPE __stdcall
#else
#define STDMETHODCALLTYPE __export __stdcall
#endif
5)SUCCEEDED:测试返回值(HRESULT类型)是否成功。
#define SUCCEEDED(Status) ((HRESULT)(Status) >= 0)
6)FAILED:测试返回值(HRESULT类型)是否失败。
#define FAILED(Status) ((HRESULT)(Status)<0)
转载:点击打开链接