⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comdemo.h

📁 Com组件的一些例程
💻 H
字号:
// COMDemo.h : Declaration of the CCOMDemo

#pragma once
#include "resource.h"       // main symbols

// _ICompletedEvents
[
	dispinterface,
	uuid("B2CBBCD3-2993-4148-8EF4-356EACFD834B"),
    custom(0F21F359-AB84-41e8-9A78-36D110E6D2F9, 
     "Wrox.ProCSharp.COMInterop.Server.ICompletedEvents"),
	helpstring("_ICompletedEvents Interface")
]
__interface _ICompletedEvents
{
	[id(1)] void Completed(void);
};

// IMath
[
	object,
	uuid("2158751B-896E-461d-9012-EF1680BE0628"),
	dual,	
	helpstring("IMath Interface"),
	pointer_default(unique),
    custom(0F21F359-AB84-41e8-9A78-36D110E6D2F9, 
     "Wrox.ProCSharp.COMInterop.Server.IMath")
]
__interface IMath : IDispatch
{
	[id(1)] HRESULT Add([in] LONG val1, [in] LONG val2, [out, retval] LONG* result);
	[id(2)] HRESULT Sub([in] LONG val1, [in] LONG val2, [out, retval] LONG* result);
};

// ICOMDemo
[
	object,
	uuid("015ED275-3DE6-4716-A6FA-4EBC71E4A8EA"),
	dual,	helpstring("ICOMDemo Interface"),
	pointer_default(unique),
    custom(0F21F359-AB84-41e8-9A78-36D110E6D2F9, 
     "Wrox.ProCSharp.COMInterop.Server.IWelcome")
]
__interface IWelcome : IDispatch
{
	[id(1)] HRESULT Greeting([in] BSTR name, [out, retval] BSTR* message);

};



// CCOMDemo

[
	coclass,
	threading("apartment"),
	vi_progid("COMServer.COMDemo"),
	progid("COMServer.COMDemo.1"),
	version(1.0),
    custom(0F21F359-AB84-41e8-9A78-36D110E6D2F9, 
     "Wrox.ProCSharp.COMInterop.Server.COMDemo"),
	uuid("2388AAA8-AD72-4022-948D-555316F708E8"),
	event_source("com"),
	helpstring("COMDemo Class")
]
class ATL_NO_VTABLE CCOMDemo : 
	public IWelcome, public IMath
{
public:
	CCOMDemo()
	{
	}

	__event __interface _ICompletedEvents;
	void FireCompleted()
	{
		__raise Completed();
	}

	DECLARE_PROTECT_FINAL_CONSTRUCT()

	HRESULT FinalConstruct()
	{
		return S_OK;
	}
	
	void FinalRelease() 
	{
	}

public:

	STDMETHOD(Greeting)(BSTR name, BSTR* message);
	STDMETHOD(Add)(LONG val1, LONG val2, LONG* result);
	STDMETHOD(Sub)(LONG val1, LONG val2, LONG* result);
};

⌨️ 快捷键说明

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