STDMETHODIMP与STDMETHOD

#define STDMETHODCALLTYPE       __stdcall
#define STDMETHODVCALLTYPE      __cdecl

 

STDMETHODIMP的定义如下:

#defineSTDMETHODIMP            HRESULT STDMETHODCALLTYPE
#define STDMETHODIMP_(type)     type STDMETHODCALLTYPE

STDMETHOD的定义如下:

#define STDMETHOD(method)        virtual COM_DECLSPEC_NOTHROW  HRESULT STDMETHODCALLTYPE  method
#define STDMETHOD_(type,method)  virtual COM_DECLSPEC_NOTHROW  type STDMETHODCALLTYPE  method

 

你可以看出STDMETHOD是定义了接口中的方法,是虚函数,而STDMETHODIMP定义了具体实现类中的方法,是普通的函数。

HRESULT是COM中统一的返回类型,而加上__stdcall是为了可以被VB,Delphi,Java等其他的OO语言使用。

你可能感兴趣的:(java,OO,语言,vb,Delphi)