亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmpnt1.cpp

?? COM技術內幕配書源碼
?? CPP
字號:
//
// Cmpnt1.cpp - Component 1
//
#include <objbase.h>

#include "Iface.h"
#include "Util.h"
#include "CUnknown.h" // Base class for IUnknown
#include "Cmpnt1.h"

static inline void trace(char* msg)
	{ Util::Trace("Component 1", msg, S_OK) ;}
static inline void trace(char* msg, HRESULT hr)
	{ Util::Trace("Component 1", msg, hr) ;}

///////////////////////////////////////////////////////////
//
// Interface IX
//
HRESULT __stdcall CA::FxStringIn(wchar_t* szIn)
{ 
	// Display the incoming string.
	ostrstream sout ;
	sout << "FxStringIn received a string:  "
	     << szIn
	     << ends ;
	trace(sout.str()) ;
	return S_OK ;
}

HRESULT __stdcall CA::FxStringOut(wchar_t** pszOut)
{
	const wchar_t wsz[] = L"[String from FxStringOut]" ;
	const int iLength = (wcslen(wsz)+1)*sizeof(wchar_t) ;

	// Allocate an outgoing string.

	wchar_t* pBuf = static_cast<wchar_t*>(::CoTaskMemAlloc(iLength)) ;
	if (pBuf == NULL)
	{
		return E_OUTOFMEMORY ;
	}
	
	// Copy string to output buffer.
	wcscpy(pBuf, wsz) ;

	*pszOut = pBuf ;
	return S_OK ;
}

//
// Constructor
//
CA::CA(IUnknown* pUnknownOuter)
: CUnknown(pUnknownOuter),
  m_pUnknownInner(NULL),
  m_pIZ(NULL)
{
	// Empty
}

//
// Destructor
//
CA::~CA()
{
	trace("Destroy self.") ;
}

//
// NondelegatingQueryInterface implementation
//
HRESULT __stdcall CA::NondelegatingQueryInterface(const IID& iid,
                                                  void** ppv)
{ 	
	if (iid == IID_IX)
	{
		return FinishQI((IX*)this, ppv) ;
	}
	else if (iid == IID_IY)
	{
		trace("Return IY interface of aggregated component.") ;
		return m_pUnknownInner->QueryInterface(iid, ppv) ;
	}
	else if (iid == IID_IZ)
	{
		("Return IZ interface of aggregated component.") ;
		return FinishQI(m_pIZ, ppv) ;
	}
	else if (iid == IID_IMarshal)
	{
		trace("The COM Library asked for IMarshal.") ;
		// We don't implement IMarshal.
		return CUnknown::NondelegatingQueryInterface(iid, ppv) ;
	}
	else
	{
		return CUnknown::NondelegatingQueryInterface(iid, ppv) ;
	}
}


//
// Initialize the component by creating the contained component.
//
HRESULT CA::Init()
{
	trace("Create Component 2, which is aggregated.") ;
	HRESULT hr = CoCreateInstance(CLSID_Component2, 
	                              GetOuterUnknown(), 
	                              CLSCTX_INPROC_SERVER,
	                              //CLSCTX_ALL, //@Multi
	                              IID_IUnknown,
	                              (void**)&m_pUnknownInner) ;
	if (FAILED(hr))
	{
		trace("Could not create inner component.", hr) ;
		return E_FAIL ;
	}

	trace("Get pointer to interface IZ to cache.") ;
	hr = m_pUnknownInner->QueryInterface(IID_IZ, (void**)&m_pIZ) ;
	if (FAILED(hr))
	{
		trace("Inner component does not support IZ.", hr) ;
		m_pUnknownInner->Release() ;
		m_pUnknownInner = NULL ;
		return E_FAIL ;
	}

	// Decrement the reference count caused by the QI call.
	trace("Got IZ interface pointer. Release reference.") ;
	GetOuterUnknown()->Release() ;
	return S_OK ;
}

//
// FinalRelease - called by Release before it deletes the component
//
void CA::FinalRelease()
{
	// Call base class to incremement m_cRef to prevent recusion.
	CUnknown::FinalRelease() ;

	// Counter the GetOuterUnknown()->Release in the Init method.
	GetOuterUnknown()->AddRef() ;	

	// Properly release the pointer; there may be per-interface
	// reference counts.
	m_pIZ->Release() ;

	// Release the aggregated component.
	if (m_pUnknownInner != NULL)
	{
		m_pUnknownInner->Release() ;
	}
}



///////////////////////////////////////////////////////////
//
// Creation function used by CFactory
//
HRESULT CA::CreateInstance(IUnknown* pUnknownOuter,
                           CUnknown** ppNewComponent)
{
	if (pUnknownOuter != NULL)
	{
		// Don't allow aggregation. Just for the heck of it.
		return CLASS_E_NOAGGREGATION ;
	}
	
	*ppNewComponent = new CA(pUnknownOuter) ;
	return S_OK ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人先锋电影| 国产精品视频你懂的| av高清久久久| 国产主播一区二区三区| 日韩成人精品在线观看| 日本不卡不码高清免费观看| 日本美女一区二区三区视频| 婷婷综合另类小说色区| 视频一区视频二区在线观看| 日韩精品久久久久久| 精一区二区三区| 国产91精品欧美| 91色porny| 欧美日韩精品高清| 久久午夜电影网| 国产精品第一页第二页第三页| 国产精品成人免费在线| 一区二区三区影院| 免费亚洲电影在线| 麻豆精品国产91久久久久久| 国产精品自在欧美一区| 成+人+亚洲+综合天堂| 欧美中文字幕一区二区三区 | 久久精品国产一区二区| 激情综合色播激情啊| 成人国产一区二区三区精品| 91日韩在线专区| 91精品国产色综合久久久蜜香臀| 欧美电影精品一区二区| 日韩久久一区二区| 天天色综合天天| 亚洲欧美电影一区二区| 美女一区二区在线观看| 成人亚洲精品久久久久软件| 欧美综合一区二区| 国产亚洲人成网站| 亚洲国产日韩av| 国产成人在线免费观看| 欧美猛男gaygay网站| 欧美激情综合五月色丁香小说| 亚洲精品国产第一综合99久久| 麻豆精品久久久| 欧美亚洲禁片免费| 国产人成亚洲第一网站在线播放| 亚洲最大的成人av| 国产精品69毛片高清亚洲| 欧美午夜精品久久久久久超碰| 国产午夜精品久久久久久免费视 | 欧美色图免费看| 国产欧美精品一区| 日韩国产精品大片| 91成人国产精品| 欧美国产成人精品| 国产综合一区二区| 欧美精品久久99| 亚洲精品国产品国语在线app| 国产高清不卡二三区| 欧美一级日韩免费不卡| 亚洲一区av在线| 9i在线看片成人免费| 久久久三级国产网站| 男男视频亚洲欧美| 欧美一区二区三区四区视频| 亚洲最大的成人av| 欧美伊人精品成人久久综合97| 国产精品区一区二区三区| 国产美女精品在线| 欧美成人女星排行榜| 美女网站一区二区| 91精品中文字幕一区二区三区 | 欧美在线观看18| 亚洲日本在线视频观看| 成人午夜在线免费| 国产日韩欧美综合在线| 久久99精品国产麻豆不卡| 91精品国产欧美一区二区18| 午夜久久久影院| 欧美一区二区三区视频免费播放| 香蕉av福利精品导航| 欧美久久久久久久久| 视频在线观看91| 欧美成人高清电影在线| 国产一区二区三区综合| 久久精品亚洲国产奇米99| 国产激情一区二区三区四区 | 欧美色精品在线视频| 亚洲电影激情视频网站| 欧美男生操女生| 美女视频一区二区三区| 国产亚洲午夜高清国产拍精品| 国产一区在线观看视频| 国产精品卡一卡二卡三| 在线免费观看日韩欧美| 日韩国产一二三区| ww亚洲ww在线观看国产| 成人动漫一区二区| 亚洲一级片在线观看| 91精品国产综合久久精品图片| 久久精品噜噜噜成人88aⅴ| 欧美激情综合五月色丁香| 在线视频国内自拍亚洲视频| 免费成人小视频| 中文字幕av在线一区二区三区| 色呦呦国产精品| 久久99精品国产| 国产精品久久久一区麻豆最新章节| 色伊人久久综合中文字幕| 蜜桃精品在线观看| 国产精品久久夜| 在线电影一区二区三区| 成人深夜福利app| 亚洲第一成年网| 国产网红主播福利一区二区| 色婷婷综合五月| 国产在线观看免费一区| 夜夜操天天操亚洲| 亚洲国产精品国自产拍av| 欧美性色黄大片| 国产91精品一区二区麻豆亚洲| 日韩精品一区第一页| 国产欧美日韩另类一区| 91精品国产91热久久久做人人| jizzjizzjizz欧美| 国模娜娜一区二区三区| 婷婷亚洲久悠悠色悠在线播放| 久久久久久**毛片大全| 7777精品伊人久久久大香线蕉完整版| 成人免费观看av| 蜜桃视频在线观看一区| 亚洲第一电影网| 亚洲精品免费在线| 一本色道久久综合亚洲精品按摩| 国产一区 二区| 麻豆国产一区二区| 日韩在线播放一区二区| 一个色综合网站| 亚洲男同1069视频| 国产精品二区一区二区aⅴ污介绍| 精品毛片乱码1区2区3区| 欧美高清视频在线高清观看mv色露露十八 | 91网站在线观看视频| 狠狠网亚洲精品| 久久99精品久久久久久久久久久久| 亚洲一区成人在线| 亚洲午夜av在线| 亚洲最快最全在线视频| 亚洲免费毛片网站| 最新欧美精品一区二区三区| 国产精品天天看| 日本一区二区三区四区| 国产午夜一区二区三区| 2021国产精品久久精品| 欧美精品一区二区三区视频| 丰满亚洲少妇av| 成人sese在线| 91美女片黄在线观看| 91麻豆6部合集magnet| 色欧美片视频在线观看| 日本高清免费不卡视频| 欧美亚男人的天堂| 在线播放亚洲一区| 欧美一区在线视频| 精品国产污污免费网站入口| 久久色视频免费观看| 国产欧美日本一区视频| 国产精品日日摸夜夜摸av| 亚洲日本电影在线| 亚洲成人精品一区| 美女任你摸久久| 国产精品欧美综合在线| 亚洲视频中文字幕| 亚洲国产婷婷综合在线精品| 男女激情视频一区| 成人中文字幕在线| 91成人网在线| 久久婷婷色综合| 亚洲欧美综合在线精品| 亚洲一区二区三区免费视频| 天天操天天干天天综合网| 激情欧美一区二区三区在线观看| 国产精品一区二区在线播放| 色老综合老女人久久久| 91麻豆精品国产91久久久使用方法| 2022国产精品视频| 最近日韩中文字幕| 免费成人深夜小野草| 丁香另类激情小说| 老司机一区二区| 97久久久精品综合88久久| 在线91免费看| 欧美国产日韩亚洲一区| 五月婷婷欧美视频| 成人免费看片app下载| 91精品国产色综合久久久蜜香臀| 国产精品美女久久久久aⅴ | 亚洲国产一区二区三区| 国产很黄免费观看久久| 777色狠狠一区二区三区| 国产精品久久久久天堂| 精品一二三四区|