added some development tools
[windows-sources.git] / developer / VSSDK / VisualStudioIntegration / Common / Source / CPP / VSL / MockInterfaces / VSLMockIOplockStorage.h
blob2b023dca379b8966170c944d1c1f3bf9d0fd6441
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 IOPLOCKSTORAGE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
15 #define IOPLOCKSTORAGE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5
17 #if _MSC_VER > 1000
18 #pragma once
19 #endif
21 #include "ObjIdl.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 IOplockStorageNotImpl :
33 public IOplockStorage
36 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOplockStorageNotImpl)
38 public:
40 typedef IOplockStorage Interface;
42 STDMETHOD(CreateStorageEx)(
43 /*[in]*/ LPCWSTR /*pwcsName*/,
44 /*[in]*/ DWORD /*grfMode*/,
45 /*[in]*/ DWORD /*stgfmt*/,
46 /*[in]*/ DWORD /*grfAttrs*/,
47 /*[in]*/ REFIID /*riid*/,
48 /*[out,iid_is(riid)]*/ void** /*ppstgOpen*/)VSL_STDMETHOD_NOTIMPL
50 STDMETHOD(OpenStorageEx)(
51 /*[in]*/ LPCWSTR /*pwcsName*/,
52 /*[in]*/ DWORD /*grfMode*/,
53 /*[in]*/ DWORD /*stgfmt*/,
54 /*[in]*/ DWORD /*grfAttrs*/,
55 /*[in]*/ REFIID /*riid*/,
56 /*[out,iid_is(riid)]*/ void** /*ppstgOpen*/)VSL_STDMETHOD_NOTIMPL
59 class IOplockStorageMockImpl :
60 public IOplockStorage,
61 public MockBase
64 VSL_DECLARE_NONINSTANTIABLE_BASE_CLASS(IOplockStorageMockImpl)
66 public:
68 VSL_DEFINE_MOCK_CLASS_TYPDEFS(IOplockStorageMockImpl)
70 typedef IOplockStorage Interface;
71 struct CreateStorageExValidValues
73 /*[in]*/ LPCWSTR pwcsName;
74 /*[in]*/ DWORD grfMode;
75 /*[in]*/ DWORD stgfmt;
76 /*[in]*/ DWORD grfAttrs;
77 /*[in]*/ REFIID riid;
78 /*[out,iid_is(riid)]*/ void** ppstgOpen;
79 HRESULT retValue;
82 STDMETHOD(CreateStorageEx)(
83 /*[in]*/ LPCWSTR pwcsName,
84 /*[in]*/ DWORD grfMode,
85 /*[in]*/ DWORD stgfmt,
86 /*[in]*/ DWORD grfAttrs,
87 /*[in]*/ REFIID riid,
88 /*[out,iid_is(riid)]*/ void** ppstgOpen)
90 VSL_DEFINE_MOCK_METHOD(CreateStorageEx)
92 VSL_CHECK_VALIDVALUE_STRINGW(pwcsName);
94 VSL_CHECK_VALIDVALUE(grfMode);
96 VSL_CHECK_VALIDVALUE(stgfmt);
98 VSL_CHECK_VALIDVALUE(grfAttrs);
100 VSL_CHECK_VALIDVALUE(riid);
102 VSL_SET_VALIDVALUE(ppstgOpen);
104 VSL_RETURN_VALIDVALUES();
106 struct OpenStorageExValidValues
108 /*[in]*/ LPCWSTR pwcsName;
109 /*[in]*/ DWORD grfMode;
110 /*[in]*/ DWORD stgfmt;
111 /*[in]*/ DWORD grfAttrs;
112 /*[in]*/ REFIID riid;
113 /*[out,iid_is(riid)]*/ void** ppstgOpen;
114 HRESULT retValue;
117 STDMETHOD(OpenStorageEx)(
118 /*[in]*/ LPCWSTR pwcsName,
119 /*[in]*/ DWORD grfMode,
120 /*[in]*/ DWORD stgfmt,
121 /*[in]*/ DWORD grfAttrs,
122 /*[in]*/ REFIID riid,
123 /*[out,iid_is(riid)]*/ void** ppstgOpen)
125 VSL_DEFINE_MOCK_METHOD(OpenStorageEx)
127 VSL_CHECK_VALIDVALUE_STRINGW(pwcsName);
129 VSL_CHECK_VALIDVALUE(grfMode);
131 VSL_CHECK_VALIDVALUE(stgfmt);
133 VSL_CHECK_VALIDVALUE(grfAttrs);
135 VSL_CHECK_VALIDVALUE(riid);
137 VSL_SET_VALIDVALUE(ppstgOpen);
139 VSL_RETURN_VALIDVALUES();
144 } // namespace VSL
146 #pragma warning(pop)
148 #endif // IOPLOCKSTORAGE_H_10C49CA1_2F46_11D3_A504_00C04F5E0BA5