aboutsummaryrefslogtreecommitdiff
path: root/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h')
-rw-r--r--src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h
new file mode 100644
index 00000000..2fbd47d4
--- /dev/null
+++ b/src/test/msi/TestData/ComPlusExtensionTests/Components/TestComponentNative/Message.h
@@ -0,0 +1,58 @@
1// Message.h : Declaration of the CMessage
2
3#pragma once
4#include "resource.h" // main symbols
5
6
7
8#include "TestComponentNative_i.h"
9
10
11
12#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA)
13#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms."
14#endif
15
16using namespace ATL;
17
18
19// CMessage
20
21class ATL_NO_VTABLE CMessage :
22 public CComObjectRootEx<CComSingleThreadModel>,
23 public CComCoClass<CMessage, &CLSID_Message>,
24 public IDispatchImpl<IMessage, &IID_IMessage, &LIBID_TestComponentNativeLib, /*wMajor =*/ 1, /*wMinor =*/ 0>
25{
26public:
27 CMessage()
28 {
29 }
30 HRESULT STDMETHODCALLTYPE CMessage::SayHello(void);
31DECLARE_REGISTRY_RESOURCEID(106)
32
33
34BEGIN_COM_MAP(CMessage)
35 COM_INTERFACE_ENTRY(IMessage)
36 COM_INTERFACE_ENTRY(IDispatch)
37END_COM_MAP()
38
39
40
41 DECLARE_PROTECT_FINAL_CONSTRUCT()
42
43 HRESULT FinalConstruct()
44 {
45 return S_OK;
46 }
47
48 void FinalRelease()
49 {
50 }
51
52public:
53
54
55
56};
57
58OBJECT_ENTRY_AUTO(__uuidof(Message), CMessage)