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 IENUMSTATSTG_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IENUMSTATSTG_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 IEnumSTATSTGNotImpl
:
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IEnumSTATSTGNotImpl
)
40 typedef IEnumSTATSTG Interface
;
43 /*[in]*/ ULONG
/*celt*/,
44 /*[out,size_is(celt),length_is(*pceltFetched)]*/ STATSTG
* /*rgelt*/,
45 /*[out]*/ ULONG
* /*pceltFetched*/)VSL_STDMETHOD_NOTIMPL
48 /*[in]*/ ULONG
/*celt*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(Reset
)()VSL_STDMETHOD_NOTIMPL
53 /*[out]*/ IEnumSTATSTG
** /*ppenum*/)VSL_STDMETHOD_NOTIMPL
56 class IEnumSTATSTGMockImpl
:
61 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IEnumSTATSTGMockImpl
)
65 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IEnumSTATSTGMockImpl
)
67 typedef IEnumSTATSTG Interface
;
68 struct NextValidValues
71 /*[out,size_is(celt),length_is(*pceltFetched)]*/ STATSTG
* rgelt
;
72 /*[out]*/ ULONG
* pceltFetched
;
78 /*[out,size_is(celt),length_is(*pceltFetched)]*/ STATSTG
* rgelt
,
79 /*[out]*/ ULONG
* pceltFetched
)
81 VSL_DEFINE_MOCK_METHOD(Next
)
83 VSL_CHECK_VALIDVALUE(celt
);
85 VSL_SET_VALIDVALUE_MEMCPY(rgelt
, celt
*sizeof(rgelt
[0]), *(validValues
.pceltFetched
)*sizeof(validValues
.rgelt
[0]));
87 VSL_SET_VALIDVALUE(pceltFetched
);
89 VSL_RETURN_VALIDVALUES();
91 struct SkipValidValues
100 VSL_DEFINE_MOCK_METHOD(Skip
)
102 VSL_CHECK_VALIDVALUE(celt
);
104 VSL_RETURN_VALIDVALUES();
106 struct ResetValidValues
113 VSL_DEFINE_MOCK_METHOD_NOARGS(Reset
)
115 VSL_RETURN_VALIDVALUES();
117 struct CloneValidValues
119 /*[out]*/ IEnumSTATSTG
** ppenum
;
124 /*[out]*/ IEnumSTATSTG
** ppenum
)
126 VSL_DEFINE_MOCK_METHOD(Clone
)
128 VSL_SET_VALIDVALUE_INTERFACE(ppenum
);
130 VSL_RETURN_VALIDVALUES();
139 #endif // IENUMSTATSTG_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5