1 /***************************************************************************
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 This code is licensed under the Visual Studio SDK license terms.
5 THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
6 ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
7 IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
8 PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
10 This code is a part of the Visual Studio Library.
12 ***************************************************************************/
14 #ifndef IOLECOMPONENTMANAGER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IOLECOMPONENTMANAGER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
24 #pragma warning(disable : 4510) // default constructor could not be generated
25 #pragma warning(disable : 4610) // can never be instantiated - user defined constructor required
26 #pragma warning(disable : 4512) // assignment operator could not be generated
27 #pragma warning(disable : 6011) // Dereferencing NULL pointer (a NULL derference is just another kind of failure for a unit test
32 class IOleComponentManagerNotImpl
:
33 public IOleComponentManager
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOleComponentManagerNotImpl
)
40 typedef IOleComponentManager Interface
;
42 STDMETHOD(QueryService
)(
43 /*[in]*/ REFGUID
/*guidService*/,
44 /*[in]*/ REFIID
/*iid*/,
45 /*[out]*/ void** /*ppvObj*/)VSL_STDMETHOD_NOTIMPL
47 virtual BOOL STDMETHODCALLTYPE
FReserved1(
48 /*[in]*/ DWORD
/*dwReserved*/,
49 /*[in]*/ UINT
/*message*/,
50 /*[in]*/ WPARAM
/*wParam*/,
51 /*[in]*/ LPARAM
/*lParam*/){ return BOOL(); }
53 virtual BOOL STDMETHODCALLTYPE
FRegisterComponent(
54 /*[in]*/ IOleComponent
* /*piComponent*/,
55 /*[in]*/ const OLECRINFO
* /*pcrinfo*/,
56 /*[out]*/ DWORD_PTR
* /*pdwComponentID*/){ return BOOL(); }
58 virtual BOOL STDMETHODCALLTYPE
FRevokeComponent(
59 /*[in]*/ DWORD_PTR
/*dwComponentID*/){ return BOOL(); }
61 virtual BOOL STDMETHODCALLTYPE
FUpdateComponentRegistration(
62 /*[in]*/ DWORD_PTR
/*dwComponentID*/,
63 /*[in]*/ const OLECRINFO
* /*pcrinfo*/){ return BOOL(); }
65 virtual BOOL STDMETHODCALLTYPE
FOnComponentActivate(
66 /*[in]*/ DWORD_PTR
/*dwComponentID*/){ return BOOL(); }
68 virtual BOOL STDMETHODCALLTYPE
FSetTrackingComponent(
69 /*[in]*/ DWORD_PTR
/*dwComponentID*/,
70 /*[in]*/ BOOL
/*fTrack*/){ return BOOL(); }
72 virtual void STDMETHODCALLTYPE
OnComponentEnterState(
73 /*[in]*/ DWORD_PTR
/*dwComponentID*/,
74 /*[in]*/ OLECSTATE
/*uStateID*/,
75 /*[in]*/ OLECCONTEXT
/*uContext*/,
76 /*[in]*/ ULONG
/*cpicmExclude*/,
77 /*[in]*/ IOleComponentManager
** /*rgpicmExclude*/,
78 /*[in]*/ DWORD
/*dwReserved*/){ return ; }
80 virtual BOOL STDMETHODCALLTYPE
FOnComponentExitState(
81 /*[in]*/ DWORD_PTR
/*dwComponentID*/,
82 /*[in]*/ OLECSTATE
/*uStateID*/,
83 /*[in]*/ OLECCONTEXT
/*uContext*/,
84 /*[in]*/ ULONG
/*cpicmExclude*/,
85 /*[in]*/ IOleComponentManager
** /*rgpicmExclude*/){ return BOOL(); }
87 virtual BOOL STDMETHODCALLTYPE
FInState(
88 /*[in]*/ OLECSTATE
/*uStateID*/,
89 /*[in]*/ void* /*pvoid*/){ return BOOL(); }
91 virtual BOOL STDMETHODCALLTYPE
FContinueIdle(){ return BOOL(); }
93 virtual BOOL STDMETHODCALLTYPE
FPushMessageLoop(
94 /*[in]*/ DWORD_PTR
/*dwComponentID*/,
95 /*[in]*/ OLELOOP
/*uReason*/,
96 /*[in]*/ void* /*pvLoopData*/){ return BOOL(); }
98 virtual BOOL STDMETHODCALLTYPE
FCreateSubComponentManager(
99 /*[in]*/ IUnknown
* /*piunkOuter*/,
100 /*[in]*/ IUnknown
* /*piunkServProv*/,
101 /*[in]*/ REFIID
/*riid*/,
102 /*[out]*/ void** /*ppvObj*/){ return BOOL(); }
104 virtual BOOL STDMETHODCALLTYPE
FGetParentComponentManager(
105 /*[out]*/ IOleComponentManager
** /*ppicm*/){ return BOOL(); }
107 virtual BOOL STDMETHODCALLTYPE
FGetActiveComponent(
108 /*[in]*/ OLEGAC
/*dwgac*/,
109 /*[out]*/ IOleComponent
** /*ppic*/,
110 /*[in,out]*/ OLECRINFO
* /*pcrinfo*/,
111 /*[in]*/ DWORD
/*dwReserved*/){ return BOOL(); }
114 class IOleComponentManagerMockImpl
:
115 public IOleComponentManager
,
119 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOleComponentManagerMockImpl
)
123 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IOleComponentManagerMockImpl
)
125 typedef IOleComponentManager Interface
;
126 struct QueryServiceValidValues
128 /*[in]*/ REFGUID guidService
;
130 /*[out]*/ void** ppvObj
;
134 STDMETHOD(QueryService
)(
135 /*[in]*/ REFGUID guidService
,
137 /*[out]*/ void** ppvObj
)
139 VSL_DEFINE_MOCK_METHOD(QueryService
)
141 VSL_CHECK_VALIDVALUE(guidService
);
143 VSL_CHECK_VALIDVALUE(iid
);
145 VSL_SET_VALIDVALUE(ppvObj
);
147 VSL_RETURN_VALIDVALUES();
149 struct FReserved1ValidValues
151 /*[in]*/ DWORD dwReserved
;
152 /*[in]*/ UINT message
;
153 /*[in]*/ WPARAM wParam
;
154 /*[in]*/ LPARAM lParam
;
158 virtual BOOL _stdcall
FReserved1(
159 /*[in]*/ DWORD dwReserved
,
160 /*[in]*/ UINT message
,
161 /*[in]*/ WPARAM wParam
,
162 /*[in]*/ LPARAM lParam
)
164 VSL_DEFINE_MOCK_METHOD(FReserved1
)
166 VSL_CHECK_VALIDVALUE(dwReserved
);
168 VSL_CHECK_VALIDVALUE(message
);
170 VSL_CHECK_VALIDVALUE(wParam
);
172 VSL_CHECK_VALIDVALUE(lParam
);
174 VSL_RETURN_VALIDVALUES();
176 struct FRegisterComponentValidValues
178 /*[in]*/ IOleComponent
* piComponent
;
179 /*[in]*/ OLECRINFO
* pcrinfo
;
180 /*[out]*/ DWORD_PTR
* pdwComponentID
;
184 virtual BOOL _stdcall
FRegisterComponent(
185 /*[in]*/ IOleComponent
* piComponent
,
186 /*[in]*/ const OLECRINFO
* pcrinfo
,
187 /*[out]*/ DWORD_PTR
* pdwComponentID
)
189 VSL_DEFINE_MOCK_METHOD(FRegisterComponent
)
191 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(piComponent
);
193 VSL_CHECK_VALIDVALUE_POINTER(pcrinfo
);
195 VSL_SET_VALIDVALUE(pdwComponentID
);
197 VSL_RETURN_VALIDVALUES();
199 struct FRevokeComponentValidValues
201 /*[in]*/ DWORD_PTR dwComponentID
;
205 virtual BOOL _stdcall
FRevokeComponent(
206 /*[in]*/ DWORD_PTR dwComponentID
)
208 VSL_DEFINE_MOCK_METHOD(FRevokeComponent
)
210 VSL_CHECK_VALIDVALUE(dwComponentID
);
212 VSL_RETURN_VALIDVALUES();
214 struct FUpdateComponentRegistrationValidValues
216 /*[in]*/ DWORD_PTR dwComponentID
;
217 /*[in]*/ OLECRINFO
* pcrinfo
;
221 virtual BOOL _stdcall
FUpdateComponentRegistration(
222 /*[in]*/ DWORD_PTR dwComponentID
,
223 /*[in]*/ const OLECRINFO
* pcrinfo
)
225 VSL_DEFINE_MOCK_METHOD(FUpdateComponentRegistration
)
227 VSL_CHECK_VALIDVALUE(dwComponentID
);
229 VSL_CHECK_VALIDVALUE_POINTER(pcrinfo
);
231 VSL_RETURN_VALIDVALUES();
233 struct FOnComponentActivateValidValues
235 /*[in]*/ DWORD_PTR dwComponentID
;
239 virtual BOOL _stdcall
FOnComponentActivate(
240 /*[in]*/ DWORD_PTR dwComponentID
)
242 VSL_DEFINE_MOCK_METHOD(FOnComponentActivate
)
244 VSL_CHECK_VALIDVALUE(dwComponentID
);
246 VSL_RETURN_VALIDVALUES();
248 struct FSetTrackingComponentValidValues
250 /*[in]*/ DWORD_PTR dwComponentID
;
251 /*[in]*/ BOOL fTrack
;
255 virtual BOOL _stdcall
FSetTrackingComponent(
256 /*[in]*/ DWORD_PTR dwComponentID
,
257 /*[in]*/ BOOL fTrack
)
259 VSL_DEFINE_MOCK_METHOD(FSetTrackingComponent
)
261 VSL_CHECK_VALIDVALUE(dwComponentID
);
263 VSL_CHECK_VALIDVALUE(fTrack
);
265 VSL_RETURN_VALIDVALUES();
267 struct OnComponentEnterStateValidValues
269 /*[in]*/ DWORD_PTR dwComponentID
;
270 /*[in]*/ OLECSTATE uStateID
;
271 /*[in]*/ OLECCONTEXT uContext
;
272 /*[in]*/ ULONG cpicmExclude
;
273 /*[in]*/ IOleComponentManager
** rgpicmExclude
;
274 /*[in]*/ DWORD dwReserved
;
277 virtual void _stdcall
OnComponentEnterState(
278 /*[in]*/ DWORD_PTR dwComponentID
,
279 /*[in]*/ OLECSTATE uStateID
,
280 /*[in]*/ OLECCONTEXT uContext
,
281 /*[in]*/ ULONG cpicmExclude
,
282 /*[in]*/ IOleComponentManager
** rgpicmExclude
,
283 /*[in]*/ DWORD dwReserved
)
285 VSL_DEFINE_MOCK_METHOD(OnComponentEnterState
)
287 VSL_CHECK_VALIDVALUE(dwComponentID
);
289 VSL_CHECK_VALIDVALUE(uStateID
);
291 VSL_CHECK_VALIDVALUE(uContext
);
293 VSL_CHECK_VALIDVALUE(cpicmExclude
);
295 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(rgpicmExclude
);
297 VSL_CHECK_VALIDVALUE(dwReserved
);
300 struct FOnComponentExitStateValidValues
302 /*[in]*/ DWORD_PTR dwComponentID
;
303 /*[in]*/ OLECSTATE uStateID
;
304 /*[in]*/ OLECCONTEXT uContext
;
305 /*[in]*/ ULONG cpicmExclude
;
306 /*[in]*/ IOleComponentManager
** rgpicmExclude
;
310 virtual BOOL _stdcall
FOnComponentExitState(
311 /*[in]*/ DWORD_PTR dwComponentID
,
312 /*[in]*/ OLECSTATE uStateID
,
313 /*[in]*/ OLECCONTEXT uContext
,
314 /*[in]*/ ULONG cpicmExclude
,
315 /*[in]*/ IOleComponentManager
** rgpicmExclude
)
317 VSL_DEFINE_MOCK_METHOD(FOnComponentExitState
)
319 VSL_CHECK_VALIDVALUE(dwComponentID
);
321 VSL_CHECK_VALIDVALUE(uStateID
);
323 VSL_CHECK_VALIDVALUE(uContext
);
325 VSL_CHECK_VALIDVALUE(cpicmExclude
);
327 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(rgpicmExclude
);
329 VSL_RETURN_VALIDVALUES();
331 struct FInStateValidValues
333 /*[in]*/ OLECSTATE uStateID
;
334 /*[in]*/ void* pvoid
;
336 size_t pvoid_size_in_bytes
;
339 virtual BOOL _stdcall
FInState(
340 /*[in]*/ OLECSTATE uStateID
,
341 /*[in]*/ void* pvoid
)
343 VSL_DEFINE_MOCK_METHOD(FInState
)
345 VSL_CHECK_VALIDVALUE(uStateID
);
347 VSL_CHECK_VALIDVALUE_PVOID(pvoid
);
349 VSL_RETURN_VALIDVALUES();
351 struct FContinueIdleValidValues
356 virtual BOOL _stdcall
FContinueIdle()
358 VSL_DEFINE_MOCK_METHOD_NOARGS(FContinueIdle
)
360 VSL_RETURN_VALIDVALUES();
362 struct FPushMessageLoopValidValues
364 /*[in]*/ DWORD_PTR dwComponentID
;
365 /*[in]*/ OLELOOP uReason
;
366 /*[in]*/ void* pvLoopData
;
368 size_t pvLoopData_size_in_bytes
;
371 virtual BOOL _stdcall
FPushMessageLoop(
372 /*[in]*/ DWORD_PTR dwComponentID
,
373 /*[in]*/ OLELOOP uReason
,
374 /*[in]*/ void* pvLoopData
)
376 VSL_DEFINE_MOCK_METHOD(FPushMessageLoop
)
378 VSL_CHECK_VALIDVALUE(dwComponentID
);
380 VSL_CHECK_VALIDVALUE(uReason
);
382 VSL_CHECK_VALIDVALUE_PVOID(pvLoopData
);
384 VSL_RETURN_VALIDVALUES();
386 struct FCreateSubComponentManagerValidValues
388 /*[in]*/ IUnknown
* piunkOuter
;
389 /*[in]*/ IUnknown
* piunkServProv
;
390 /*[in]*/ REFIID riid
;
391 /*[out]*/ void** ppvObj
;
395 virtual BOOL _stdcall
FCreateSubComponentManager(
396 /*[in]*/ IUnknown
* piunkOuter
,
397 /*[in]*/ IUnknown
* piunkServProv
,
398 /*[in]*/ REFIID riid
,
399 /*[out]*/ void** ppvObj
)
401 VSL_DEFINE_MOCK_METHOD(FCreateSubComponentManager
)
403 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(piunkOuter
);
405 VSL_CHECK_VALIDVALUE_INTERFACEPOINTER(piunkServProv
);
407 VSL_CHECK_VALIDVALUE(riid
);
409 VSL_SET_VALIDVALUE(ppvObj
);
411 VSL_RETURN_VALIDVALUES();
413 struct FGetParentComponentManagerValidValues
415 /*[out]*/ IOleComponentManager
** ppicm
;
419 virtual BOOL _stdcall
FGetParentComponentManager(
420 /*[out]*/ IOleComponentManager
** ppicm
)
422 VSL_DEFINE_MOCK_METHOD(FGetParentComponentManager
)
424 VSL_SET_VALIDVALUE_INTERFACE(ppicm
);
426 VSL_RETURN_VALIDVALUES();
428 struct FGetActiveComponentValidValues
430 /*[in]*/ OLEGAC dwgac
;
431 /*[out]*/ IOleComponent
** ppic
;
432 /*[in,out]*/ OLECRINFO
* pcrinfo
;
433 /*[in]*/ DWORD dwReserved
;
437 virtual BOOL _stdcall
FGetActiveComponent(
438 /*[in]*/ OLEGAC dwgac
,
439 /*[out]*/ IOleComponent
** ppic
,
440 /*[in,out]*/ OLECRINFO
* pcrinfo
,
441 /*[in]*/ DWORD dwReserved
)
443 VSL_DEFINE_MOCK_METHOD(FGetActiveComponent
)
445 VSL_CHECK_VALIDVALUE(dwgac
);
447 VSL_SET_VALIDVALUE_INTERFACE(ppic
);
449 VSL_SET_VALIDVALUE(pcrinfo
);
451 VSL_CHECK_VALIDVALUE(dwReserved
);
453 VSL_RETURN_VALIDVALUES();
462 #endif // IOLECOMPONENTMANAGER_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5