added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIDebugStackFrame3.h
bloba0d5fa74f6424a891aab34fe272c4fd25b63c311
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 IDEBUGSTACKFRAME3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IDEBUGSTACKFRAME3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "msdbg.h"
23 #pragma warning(push)
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
29 namespace VSL
32 class IDebugStackFrame3NotImpl :
33 public IDebugStackFrame3
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDebugStackFrame3NotImpl)
38 public:
40 typedef IDebugStackFrame3 Interface;
42 STDMETHOD(InterceptCurrentException)(
43 /*[in]*/ INTERCEPT_EXCEPTION_ACTION /*dwFlags*/,
44 /*[out]*/ UINT64* /*pqwCookie*/)VSL_STDMETHOD_NOTIMPL
46 STDMETHOD(GetUnwindCodeContext)(
47 /*[out]*/ IDebugCodeContext2** /*ppCodeContext*/)VSL_STDMETHOD_NOTIMPL
49 STDMETHOD(GetCodeContext)(
50 /*[out]*/ IDebugCodeContext2** /*ppCodeCxt*/)VSL_STDMETHOD_NOTIMPL
52 STDMETHOD(GetDocumentContext)(
53 /*[out]*/ IDebugDocumentContext2** /*ppCxt*/)VSL_STDMETHOD_NOTIMPL
55 STDMETHOD(GetName)(
56 /*[out]*/ BSTR* /*pbstrName*/)VSL_STDMETHOD_NOTIMPL
58 STDMETHOD(GetInfo)(
59 /*[in]*/ FRAMEINFO_FLAGS /*dwFieldSpec*/,
60 /*[in]*/ UINT /*nRadix*/,
61 /*[out]*/ FRAMEINFO* /*pFrameInfo*/)VSL_STDMETHOD_NOTIMPL
63 STDMETHOD(GetPhysicalStackRange)(
64 /*[out]*/ UINT64* /*paddrMin*/,
65 /*[out]*/ UINT64* /*paddrMax*/)VSL_STDMETHOD_NOTIMPL
67 STDMETHOD(GetExpressionContext)(
68 /*[out]*/ IDebugExpressionContext2** /*ppExprCxt*/)VSL_STDMETHOD_NOTIMPL
70 STDMETHOD(GetLanguageInfo)(
71 /*[in,out,ptr]*/ BSTR* /*pbstrLanguage*/,
72 /*[in,out,ptr]*/ GUID* /*pguidLanguage*/)VSL_STDMETHOD_NOTIMPL
74 STDMETHOD(GetDebugProperty)(
75 /*[out]*/ IDebugProperty2** /*ppProperty*/)VSL_STDMETHOD_NOTIMPL
77 STDMETHOD(EnumProperties)(
78 /*[in]*/ DEBUGPROP_INFO_FLAGS /*dwFields*/,
79 /*[in]*/ UINT /*nRadix*/,
80 /*[in]*/ REFGUID /*guidFilter*/,
81 /*[in]*/ DWORD /*dwTimeout*/,
82 /*[out]*/ ULONG* /*pcelt*/,
83 /*[out]*/ IEnumDebugPropertyInfo2** /*ppEnum*/)VSL_STDMETHOD_NOTIMPL
85 STDMETHOD(GetThread)(
86 /*[out]*/ IDebugThread2** /*ppThread*/)VSL_STDMETHOD_NOTIMPL
89 class IDebugStackFrame3MockImpl :
90 public IDebugStackFrame3,
91 public MockBase
94 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IDebugStackFrame3MockImpl)
96 public:
98 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IDebugStackFrame3MockImpl)
100 typedef IDebugStackFrame3 Interface;
101 struct InterceptCurrentExceptionValidValues
103 /*[in]*/ INTERCEPT_EXCEPTION_ACTION dwFlags;
104 /*[out]*/ UINT64* pqwCookie;
105 HRESULT retValue;
108 STDMETHOD(InterceptCurrentException)(
109 /*[in]*/ INTERCEPT_EXCEPTION_ACTION dwFlags,
110 /*[out]*/ UINT64* pqwCookie)
112 VSL_DEFINE_MOCK_METHOD(InterceptCurrentException)
114 VSL_CHECK_VALIDVALUE(dwFlags);
116 VSL_SET_VALIDVALUE(pqwCookie);
118 VSL_RETURN_VALIDVALUES();
120 struct GetUnwindCodeContextValidValues
122 /*[out]*/ IDebugCodeContext2** ppCodeContext;
123 HRESULT retValue;
126 STDMETHOD(GetUnwindCodeContext)(
127 /*[out]*/ IDebugCodeContext2** ppCodeContext)
129 VSL_DEFINE_MOCK_METHOD(GetUnwindCodeContext)
131 VSL_SET_VALIDVALUE_INTERFACE(ppCodeContext);
133 VSL_RETURN_VALIDVALUES();
135 struct GetCodeContextValidValues
137 /*[out]*/ IDebugCodeContext2** ppCodeCxt;
138 HRESULT retValue;
141 STDMETHOD(GetCodeContext)(
142 /*[out]*/ IDebugCodeContext2** ppCodeCxt)
144 VSL_DEFINE_MOCK_METHOD(GetCodeContext)
146 VSL_SET_VALIDVALUE_INTERFACE(ppCodeCxt);
148 VSL_RETURN_VALIDVALUES();
150 struct GetDocumentContextValidValues
152 /*[out]*/ IDebugDocumentContext2** ppCxt;
153 HRESULT retValue;
156 STDMETHOD(GetDocumentContext)(
157 /*[out]*/ IDebugDocumentContext2** ppCxt)
159 VSL_DEFINE_MOCK_METHOD(GetDocumentContext)
161 VSL_SET_VALIDVALUE_INTERFACE(ppCxt);
163 VSL_RETURN_VALIDVALUES();
165 struct GetNameValidValues
167 /*[out]*/ BSTR* pbstrName;
168 HRESULT retValue;
171 STDMETHOD(GetName)(
172 /*[out]*/ BSTR* pbstrName)
174 VSL_DEFINE_MOCK_METHOD(GetName)
176 VSL_SET_VALIDVALUE_BSTR(pbstrName);
178 VSL_RETURN_VALIDVALUES();
180 struct GetInfoValidValues
182 /*[in]*/ FRAMEINFO_FLAGS dwFieldSpec;
183 /*[in]*/ UINT nRadix;
184 /*[out]*/ FRAMEINFO* pFrameInfo;
185 HRESULT retValue;
188 STDMETHOD(GetInfo)(
189 /*[in]*/ FRAMEINFO_FLAGS dwFieldSpec,
190 /*[in]*/ UINT nRadix,
191 /*[out]*/ FRAMEINFO* pFrameInfo)
193 VSL_DEFINE_MOCK_METHOD(GetInfo)
195 VSL_CHECK_VALIDVALUE(dwFieldSpec);
197 VSL_CHECK_VALIDVALUE(nRadix);
199 VSL_SET_VALIDVALUE(pFrameInfo);
201 VSL_RETURN_VALIDVALUES();
203 struct GetPhysicalStackRangeValidValues
205 /*[out]*/ UINT64* paddrMin;
206 /*[out]*/ UINT64* paddrMax;
207 HRESULT retValue;
210 STDMETHOD(GetPhysicalStackRange)(
211 /*[out]*/ UINT64* paddrMin,
212 /*[out]*/ UINT64* paddrMax)
214 VSL_DEFINE_MOCK_METHOD(GetPhysicalStackRange)
216 VSL_SET_VALIDVALUE(paddrMin);
218 VSL_SET_VALIDVALUE(paddrMax);
220 VSL_RETURN_VALIDVALUES();
222 struct GetExpressionContextValidValues
224 /*[out]*/ IDebugExpressionContext2** ppExprCxt;
225 HRESULT retValue;
228 STDMETHOD(GetExpressionContext)(
229 /*[out]*/ IDebugExpressionContext2** ppExprCxt)
231 VSL_DEFINE_MOCK_METHOD(GetExpressionContext)
233 VSL_SET_VALIDVALUE_INTERFACE(ppExprCxt);
235 VSL_RETURN_VALIDVALUES();
237 struct GetLanguageInfoValidValues
239 /*[in,out,ptr]*/ BSTR* pbstrLanguage;
240 /*[in,out,ptr]*/ GUID* pguidLanguage;
241 HRESULT retValue;
244 STDMETHOD(GetLanguageInfo)(
245 /*[in,out,ptr]*/ BSTR* pbstrLanguage,
246 /*[in,out,ptr]*/ GUID* pguidLanguage)
248 VSL_DEFINE_MOCK_METHOD(GetLanguageInfo)
250 VSL_SET_VALIDVALUE_BSTR(pbstrLanguage);
252 VSL_SET_VALIDVALUE(pguidLanguage);
254 VSL_RETURN_VALIDVALUES();
256 struct GetDebugPropertyValidValues
258 /*[out]*/ IDebugProperty2** ppProperty;
259 HRESULT retValue;
262 STDMETHOD(GetDebugProperty)(
263 /*[out]*/ IDebugProperty2** ppProperty)
265 VSL_DEFINE_MOCK_METHOD(GetDebugProperty)
267 VSL_SET_VALIDVALUE_INTERFACE(ppProperty);
269 VSL_RETURN_VALIDVALUES();
271 struct EnumPropertiesValidValues
273 /*[in]*/ DEBUGPROP_INFO_FLAGS dwFields;
274 /*[in]*/ UINT nRadix;
275 /*[in]*/ REFGUID guidFilter;
276 /*[in]*/ DWORD dwTimeout;
277 /*[out]*/ ULONG* pcelt;
278 /*[out]*/ IEnumDebugPropertyInfo2** ppEnum;
279 HRESULT retValue;
282 STDMETHOD(EnumProperties)(
283 /*[in]*/ DEBUGPROP_INFO_FLAGS dwFields,
284 /*[in]*/ UINT nRadix,
285 /*[in]*/ REFGUID guidFilter,
286 /*[in]*/ DWORD dwTimeout,
287 /*[out]*/ ULONG* pcelt,
288 /*[out]*/ IEnumDebugPropertyInfo2** ppEnum)
290 VSL_DEFINE_MOCK_METHOD(EnumProperties)
292 VSL_CHECK_VALIDVALUE(dwFields);
294 VSL_CHECK_VALIDVALUE(nRadix);
296 VSL_CHECK_VALIDVALUE(guidFilter);
298 VSL_CHECK_VALIDVALUE(dwTimeout);
300 VSL_SET_VALIDVALUE(pcelt);
302 VSL_SET_VALIDVALUE_INTERFACE(ppEnum);
304 VSL_RETURN_VALIDVALUES();
306 struct GetThreadValidValues
308 /*[out]*/ IDebugThread2** ppThread;
309 HRESULT retValue;
312 STDMETHOD(GetThread)(
313 /*[out]*/ IDebugThread2** ppThread)
315 VSL_DEFINE_MOCK_METHOD(GetThread)
317 VSL_SET_VALIDVALUE_INTERFACE(ppThread);
319 VSL_RETURN_VALIDVALUES();
324 } // namespace VSL
326 #pragma warning(pop)
328 #endif // IDEBUGSTACKFRAME3_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5