COM中常用宏的总结

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)

转载:点击打开链接

你可能感兴趣的:(COM中常用宏的总结)