COM中常用宏的总结

来源:互联网 发布:金融大数据 编辑:程序博客网 时间:2024/05/29 05:00

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)


原创粉丝点击