commacros.h

来自「电脑编程技巧和源码。很不错的。」· C头文件 代码 · 共 33 行

H
33
字号
#ifndef _COMMACROS_H_
#define _COMMACROS_H_

#ifndef IMPLEMENT_IUNKNOWN

#define IMPLEMENT_IUNKNOWN_ADDREF(ObjectClass,InterfaceClass) \
STDMETHODIMP_(ULONG) ObjectClass::X##InterfaceClass::AddRef(void)\
	{\
	 METHOD_PROLOGUE(ObjectClass,InterfaceClass);\
	 return pThis->ExternalAddRef();\
    }

#define IMPLEMENT_IUNKNOWN_RELEASE(ObjectClass,InterfaceClass) \
STDMETHODIMP_(ULONG) ObjectClass::X##InterfaceClass::Release(void)\
	{\
	 METHOD_PROLOGUE(ObjectClass,InterfaceClass);\
	 return pThis->ExternalRelease();\
    }

#define IMPLEMENT_IUNKNOWN_QUERYINTERFACE(ObjectClass,InterfaceClass) \
STDMETHODIMP_(LONG) ObjectClass::X##InterfaceClass::QueryInterface(REFIID riid,LPVOID *pVoid)\
	{\
	 METHOD_PROLOGUE(ObjectClass,InterfaceClass);\
	 return pThis->ExternalQueryInterface(&riid,pVoid);\
    }

#define IMPLEMENT_IUNKNOWN(ObjectClass,InterfaceClass)\
	   IMPLEMENT_IUNKNOWN_ADDREF(ObjectClass,InterfaceClass)\
	   IMPLEMENT_IUNKNOWN_RELEASE(ObjectClass,InterfaceClass)\
	   IMPLEMENT_IUNKNOWN_QUERYINTERFACE(ObjectClass,InterfaceClass)
#endif
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?