• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  struct DateTime;
2  
3  typedef struct DateTime {
4      UINT64 UniversalTime;
5  } DateTime;
6  
7  /* The following is copied verbatim from MinGW-w64 windows.storage.h */
8  enum StorageItemTypes;
9  enum FileAttributes;
10  enum NameCollisionOption;
11  enum StorageDeleteOption;
12  
13  typedef enum NameCollisionoption {
14      NameCollisionoption_GenerateUniqueName = 0,
15      NameCollisionoption_ReplaceExisting = 1,
16      NameCollisionoption_FailIfExists = 2
17  } NameCollisionOption;
18  
19  typedef enum FileAttributes {
20      FileAttributes_Normal = 0,
21      FileAttributes_ReadOnly = 1,
22      FileAttributes_Directory = 2,
23      FileAttributes_Archive = 3,
24      FileAttributes_Temporary = 4
25  } FileAttributes;
26  
27  typedef enum StorageItemTypes {
28      StorageItemTypes_None = 0,
29      StorageItemTypes_File = 1,
30      StorageItemTypes_Folder = 2
31  } StorageItemTypes;
32  
33  typedef enum StorageDeleteOption {
34      StorageDeleteOption_Default = 0,
35      StorageDeleteOption_PermanentDelete = 1
36  } StorageDeleteOption;
37  
38  #ifndef __IStorageItem_FWD_DEFINED__
39  #define __IStorageItem_FWD_DEFINED__
40  typedef interface IStorageItem IStorageItem;
41  #endif
42  
43  /*
44   * IStorageItem interface
45   */
46  #ifndef __IStorageItem_INTERFACE_DEFINED__
47  #define __IStorageItem_INTERFACE_DEFINED__
48  
49  DEFINE_GUID(IID_IStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30);
50  #if defined(__cplusplus) && !defined(CINTERFACE)
51  MIDL_INTERFACE("4207a996-ca2f-42f7-bde8-8b10457a7f30")
52  IStorageItem : public IInspectable
53  {
54      virtual HRESULT STDMETHODCALLTYPE RenameAsyncOverloadDefaultOptions(
55          HSTRING desiredName,
56          IInspectable **action) = 0;
57  
58      virtual HRESULT STDMETHODCALLTYPE RenameAsync(
59          HSTRING desiredName,
60          NameCollisionOption option,
61          IInspectable **action) = 0;
62  
63      virtual HRESULT STDMETHODCALLTYPE DeleteAsyncOverloadDefaultOptions(
64          IInspectable **action) = 0;
65  
66      virtual HRESULT STDMETHODCALLTYPE DeleteAsync(
67          StorageDeleteOption option,
68          IInspectable **action) = 0;
69  
70      virtual HRESULT STDMETHODCALLTYPE GetBasicPropertiesAsync(
71          IInspectable **action) = 0;
72  
73      virtual HRESULT STDMETHODCALLTYPE get_Name(
74          HSTRING *value) = 0;
75  
76      virtual HRESULT STDMETHODCALLTYPE get_Path(
77          HSTRING *value) = 0;
78  
79      virtual HRESULT STDMETHODCALLTYPE get_Attributes(
80          FileAttributes *value) = 0;
81  
82      virtual HRESULT STDMETHODCALLTYPE get_DateCreated(
83          DateTime *value) = 0;
84  
85      virtual HRESULT STDMETHODCALLTYPE IsOfType(
86          StorageItemTypes itemType,
87          boolean *value) = 0;
88  
89  };
90  #ifdef __CRT_UUID_DECL
91  __CRT_UUID_DECL(IStorageItem, 0x4207a996, 0xca2f, 0x42f7, 0xbd,0xe8, 0x8b,0x10,0x45,0x7a,0x7f,0x30)
92  #endif
93  #else
94  typedef struct IStorageItemVtbl {
95      BEGIN_INTERFACE
96  
97      /*** IUnknown methods ***/
98      HRESULT (STDMETHODCALLTYPE *QueryInterface)(
99          IStorageItem* This,
100          REFIID riid,
101          void **ppvObject);
102  
103      ULONG (STDMETHODCALLTYPE *AddRef)(
104          IStorageItem* This);
105  
106      ULONG (STDMETHODCALLTYPE *Release)(
107          IStorageItem* This);
108  
109      /*** IInspectable methods ***/
110      HRESULT (STDMETHODCALLTYPE *GetIids)(
111          IStorageItem* This,
112          ULONG *iidCount,
113          IID **iids);
114  
115      HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)(
116          IStorageItem* This,
117          HSTRING *className);
118  
119      HRESULT (STDMETHODCALLTYPE *GetTrustLevel)(
120          IStorageItem* This,
121          TrustLevel *trustLevel);
122  
123      /*** IStorageItem methods ***/
124      HRESULT (STDMETHODCALLTYPE *RenameAsyncOverloadDefaultOptions)(
125          IStorageItem* This,
126          HSTRING desiredName,
127          IInspectable **action);
128  
129      HRESULT (STDMETHODCALLTYPE *RenameAsync)(
130          IStorageItem* This,
131          HSTRING desiredName,
132          NameCollisionOption option,
133          IInspectable **action);
134  
135      HRESULT (STDMETHODCALLTYPE *DeleteAsyncOverloadDefaultOptions)(
136          IStorageItem* This,
137          IInspectable **action);
138  
139      HRESULT (STDMETHODCALLTYPE *DeleteAsync)(
140          IStorageItem* This,
141          StorageDeleteOption option,
142          IInspectable **action);
143  
144      HRESULT (STDMETHODCALLTYPE *GetBasicPropertiesAsync)(
145          IStorageItem* This,
146          IInspectable **action);
147  
148      HRESULT (STDMETHODCALLTYPE *get_Name)(
149          IStorageItem* This,
150          HSTRING *value);
151  
152      HRESULT (STDMETHODCALLTYPE *get_Path)(
153          IStorageItem* This,
154          HSTRING *value);
155  
156      HRESULT (STDMETHODCALLTYPE *get_Attributes)(
157          IStorageItem* This,
158          FileAttributes *value);
159  
160      HRESULT (STDMETHODCALLTYPE *get_DateCreated)(
161          IStorageItem* This,
162          DateTime *value);
163  
164      HRESULT (STDMETHODCALLTYPE *IsOfType)(
165          IStorageItem* This,
166          StorageItemTypes itemType,
167          boolean *value);
168  
169      END_INTERFACE
170  } IStorageItemVtbl;
171  interface IStorageItem {
172      CONST_VTBL IStorageItemVtbl* lpVtbl;
173  };
174  
175  #ifdef COBJMACROS
176  #ifndef WIDL_C_INLINE_WRAPPERS
177  /*** IUnknown methods ***/
178  #define IStorageItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
179  #define IStorageItem_AddRef(This) (This)->lpVtbl->AddRef(This)
180  #define IStorageItem_Release(This) (This)->lpVtbl->Release(This)
181  /*** IInspectable methods ***/
182  #define IStorageItem_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids)
183  #define IStorageItem_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className)
184  #define IStorageItem_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel)
185  /*** IStorageItem methods ***/
186  #define IStorageItem_RenameAsyncOverloadDefaultOptions(This,desiredName,action) (This)->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action)
187  #define IStorageItem_RenameAsync(This,desiredName,option,action) (This)->lpVtbl->RenameAsync(This,desiredName,option,action)
188  #define IStorageItem_DeleteAsyncOverloadDefaultOptions(This,action) (This)->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action)
189  #define IStorageItem_DeleteAsync(This,option,action) (This)->lpVtbl->DeleteAsync(This,option,action)
190  #define IStorageItem_GetBasicPropertiesAsync(This,action) (This)->lpVtbl->GetBasicPropertiesAsync(This,action)
191  #define IStorageItem_get_Name(This,value) (This)->lpVtbl->get_Name(This,value)
192  #define IStorageItem_get_Path(This,value) (This)->lpVtbl->get_Path(This,value)
193  #define IStorageItem_get_Attributes(This,value) (This)->lpVtbl->get_Attributes(This,value)
194  #define IStorageItem_get_DateCreated(This,value) (This)->lpVtbl->get_DateCreated(This,value)
195  #define IStorageItem_IsOfType(This,itemType,value) (This)->lpVtbl->IsOfType(This,itemType,value)
196  #else
197  /*** IUnknown methods ***/
198  static FORCEINLINE HRESULT IStorageItem_QueryInterface(IStorageItem* This,REFIID riid,void **ppvObject) {
199      return This->lpVtbl->QueryInterface(This,riid,ppvObject);
200  }
201  static FORCEINLINE ULONG IStorageItem_AddRef(IStorageItem* This) {
202      return This->lpVtbl->AddRef(This);
203  }
204  static FORCEINLINE ULONG IStorageItem_Release(IStorageItem* This) {
205      return This->lpVtbl->Release(This);
206  }
207  /*** IInspectable methods ***/
208  static FORCEINLINE HRESULT IStorageItem_GetIids(IStorageItem* This,ULONG *iidCount,IID **iids) {
209      return This->lpVtbl->GetIids(This,iidCount,iids);
210  }
211  static FORCEINLINE HRESULT IStorageItem_GetRuntimeClassName(IStorageItem* This,HSTRING *className) {
212      return This->lpVtbl->GetRuntimeClassName(This,className);
213  }
214  static FORCEINLINE HRESULT IStorageItem_GetTrustLevel(IStorageItem* This,TrustLevel *trustLevel) {
215      return This->lpVtbl->GetTrustLevel(This,trustLevel);
216  }
217  /*** IStorageItem methods ***/
218  static FORCEINLINE HRESULT IStorageItem_RenameAsyncOverloadDefaultOptions(IStorageItem* This,HSTRING desiredName,IInspectable **action) {
219      return This->lpVtbl->RenameAsyncOverloadDefaultOptions(This,desiredName,action);
220  }
221  static FORCEINLINE HRESULT IStorageItem_RenameAsync(IStorageItem* This,HSTRING desiredName,NameCollisionOption option,IInspectable **action) {
222      return This->lpVtbl->RenameAsync(This,desiredName,option,action);
223  }
224  static FORCEINLINE HRESULT IStorageItem_DeleteAsyncOverloadDefaultOptions(IStorageItem* This,IInspectable **action) {
225      return This->lpVtbl->DeleteAsyncOverloadDefaultOptions(This,action);
226  }
227  static FORCEINLINE HRESULT IStorageItem_DeleteAsync(IStorageItem* This,StorageDeleteOption option,IInspectable **action) {
228      return This->lpVtbl->DeleteAsync(This,option,action);
229  }
230  static FORCEINLINE HRESULT IStorageItem_GetBasicPropertiesAsync(IStorageItem* This,IInspectable **action) {
231      return This->lpVtbl->GetBasicPropertiesAsync(This,action);
232  }
233  static FORCEINLINE HRESULT IStorageItem_get_Name(IStorageItem* This,HSTRING *value) {
234      return This->lpVtbl->get_Name(This,value);
235  }
236  static FORCEINLINE HRESULT IStorageItem_get_Path(IStorageItem* This,HSTRING *value) {
237      return This->lpVtbl->get_Path(This,value);
238  }
239  static FORCEINLINE HRESULT IStorageItem_get_Attributes(IStorageItem* This,FileAttributes *value) {
240      return This->lpVtbl->get_Attributes(This,value);
241  }
242  static FORCEINLINE HRESULT IStorageItem_get_DateCreated(IStorageItem* This,DateTime *value) {
243      return This->lpVtbl->get_DateCreated(This,value);
244  }
245  static FORCEINLINE HRESULT IStorageItem_IsOfType(IStorageItem* This,StorageItemTypes itemType,boolean *value) {
246      return This->lpVtbl->IsOfType(This,itemType,value);
247  }
248  #endif
249  #endif
250  
251  #endif
252  
253  HRESULT STDMETHODCALLTYPE IStorageItem_RenameAsyncOverloadDefaultOptions_Proxy(
254      IStorageItem* This,
255      HSTRING desiredName,
256      IInspectable **action);
257  void __RPC_STUB IStorageItem_RenameAsyncOverloadDefaultOptions_Stub(
258      IRpcStubBuffer* This,
259      IRpcChannelBuffer* pRpcChannelBuffer,
260      PRPC_MESSAGE pRpcMessage,
261      DWORD* pdwStubPhase);
262  HRESULT STDMETHODCALLTYPE IStorageItem_RenameAsync_Proxy(
263      IStorageItem* This,
264      HSTRING desiredName,
265      NameCollisionOption option,
266      IInspectable **action);
267  void __RPC_STUB IStorageItem_RenameAsync_Stub(
268      IRpcStubBuffer* This,
269      IRpcChannelBuffer* pRpcChannelBuffer,
270      PRPC_MESSAGE pRpcMessage,
271      DWORD* pdwStubPhase);
272  HRESULT STDMETHODCALLTYPE IStorageItem_DeleteAsyncOverloadDefaultOptions_Proxy(
273      IStorageItem* This,
274      IInspectable **action);
275  void __RPC_STUB IStorageItem_DeleteAsyncOverloadDefaultOptions_Stub(
276      IRpcStubBuffer* This,
277      IRpcChannelBuffer* pRpcChannelBuffer,
278      PRPC_MESSAGE pRpcMessage,
279      DWORD* pdwStubPhase);
280  HRESULT STDMETHODCALLTYPE IStorageItem_DeleteAsync_Proxy(
281      IStorageItem* This,
282      StorageDeleteOption option,
283      IInspectable **action);
284  void __RPC_STUB IStorageItem_DeleteAsync_Stub(
285      IRpcStubBuffer* This,
286      IRpcChannelBuffer* pRpcChannelBuffer,
287      PRPC_MESSAGE pRpcMessage,
288      DWORD* pdwStubPhase);
289  HRESULT STDMETHODCALLTYPE IStorageItem_GetBasicPropertiesAsync_Proxy(
290      IStorageItem* This,
291      IInspectable **action);
292  void __RPC_STUB IStorageItem_GetBasicPropertiesAsync_Stub(
293      IRpcStubBuffer* This,
294      IRpcChannelBuffer* pRpcChannelBuffer,
295      PRPC_MESSAGE pRpcMessage,
296      DWORD* pdwStubPhase);
297  HRESULT STDMETHODCALLTYPE IStorageItem_get_Name_Proxy(
298      IStorageItem* This,
299      HSTRING *value);
300  void __RPC_STUB IStorageItem_get_Name_Stub(
301      IRpcStubBuffer* This,
302      IRpcChannelBuffer* pRpcChannelBuffer,
303      PRPC_MESSAGE pRpcMessage,
304      DWORD* pdwStubPhase);
305  HRESULT STDMETHODCALLTYPE IStorageItem_get_Path_Proxy(
306      IStorageItem* This,
307      HSTRING *value);
308  void __RPC_STUB IStorageItem_get_Path_Stub(
309      IRpcStubBuffer* This,
310      IRpcChannelBuffer* pRpcChannelBuffer,
311      PRPC_MESSAGE pRpcMessage,
312      DWORD* pdwStubPhase);
313  HRESULT STDMETHODCALLTYPE IStorageItem_get_Attributes_Proxy(
314      IStorageItem* This,
315      FileAttributes *value);
316  void __RPC_STUB IStorageItem_get_Attributes_Stub(
317      IRpcStubBuffer* This,
318      IRpcChannelBuffer* pRpcChannelBuffer,
319      PRPC_MESSAGE pRpcMessage,
320      DWORD* pdwStubPhase);
321  HRESULT STDMETHODCALLTYPE IStorageItem_get_DateCreated_Proxy(
322      IStorageItem* This,
323      DateTime *value);
324  void __RPC_STUB IStorageItem_get_DateCreated_Stub(
325      IRpcStubBuffer* This,
326      IRpcChannelBuffer* pRpcChannelBuffer,
327      PRPC_MESSAGE pRpcMessage,
328      DWORD* pdwStubPhase);
329  HRESULT STDMETHODCALLTYPE IStorageItem_IsOfType_Proxy(
330      IStorageItem* This,
331      StorageItemTypes itemType,
332      boolean *value);
333  void __RPC_STUB IStorageItem_IsOfType_Stub(
334      IRpcStubBuffer* This,
335      IRpcChannelBuffer* pRpcChannelBuffer,
336      PRPC_MESSAGE pRpcMessage,
337      DWORD* pdwStubPhase);
338  
339  #endif  /* __IStorageItem_INTERFACE_DEFINED__ */
340