📄 clienttoinner2.cpp
字号:
#include <iostream.h>
#include <objbase.h>
#include "..\Agrregation\Client\Iface.h"
void trace(const char* msg) { cout << "Client: \t" << msg << endl ;}
//
// Main Function
//
int main()
{
CoInitialize(NULL);
IY* pIUnknown = NULL;
trace("从Component2中获取IUnknown接口.") ;
HRESULT hr = ::CoCreateInstance(CLSID_Component2,
NULL,
CLSCTX_INPROC_SERVER,
IID_IUnknown,
(void**)&pIUnknown) ;
if (FAILED(hr))
{
cout<< "不能创建组件CLSID_Component2" << endl;
return -1;
}
trace("从IUnknown获取IY接口!");
IY* pIY = NULL;
hr = pIUnknown->QueryInterface(IID_IY, (void**)&pIY);
if (FAILED(hr))
{
cout<< "不能从IUnknown获取IY接口!" << endl;
return -1;
}
pIY->Fy();
trace("从IY再次获取IY接口!");
IY* pIY2 = NULL;
hr = pIY->QueryInterface(IID_IY,(void**)&pIY2);
if (FAILED(hr))
{
cout<< "不能从IY再次获取IY接口!" << endl;
return -1;
}
pIY2->Fy();
pIY2->Release();
pIY->Release();
pIUnknown->Release();
CoUninitialize();
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -