ReactOS  0.4.15-dev-3187-ge372f2b
wdfcollection.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 
5 _WdfVersionBuild_
6 
7 Module Name:
8 
9  WdfCollection.h
10 
11 Abstract:
12 
13  This is the interface to the collection object
14 
15 Environment:
16 
17  kernel mode only
18 
19 Revision History:
20 
21 --*/
22 
23 //
24 // NOTE: This header is generated by stubwork. Please make any
25 // modifications to the corresponding template files
26 // (.x or .y) and use stubwork to regenerate the header
27 //
28 
29 #ifndef _WDFCOLLECTION_H_
30 #define _WDFCOLLECTION_H_
31 
32 #ifndef WDF_EXTERN_C
33  #ifdef __cplusplus
34  #define WDF_EXTERN_C extern "C"
35  #define WDF_EXTERN_C_START extern "C" {
36  #define WDF_EXTERN_C_END }
37  #else
38  #define WDF_EXTERN_C
39  #define WDF_EXTERN_C_START
40  #define WDF_EXTERN_C_END
41  #endif
42 #endif
43 
45 
46 
47 
48 #if (NTDDI_VERSION >= NTDDI_WIN2K)
49 
50 
51 
52 //
53 // WDF Function: WdfCollectionCreate
54 //
55 typedef
58 WDFAPI
60 (STDCALL *PFN_WDFCOLLECTIONCREATE)(
61  _In_
63  _In_opt_
65  _Out_
66  WDFCOLLECTION* Collection
67  );
68 
73 WdfCollectionCreate(
74  _In_opt_
76  _Out_
77  WDFCOLLECTION* Collection
78  )
79 {
81 }
82 
83 //
84 // WDF Function: WdfCollectionGetCount
85 //
86 typedef
88 WDFAPI
89 ULONG
90 (STDCALL *PFN_WDFCOLLECTIONGETCOUNT)(
91  _In_
93  _In_
94  WDFCOLLECTION Collection
95  );
96 
99 ULONG
100 WdfCollectionGetCount(
101  _In_
102  WDFCOLLECTION Collection
103  )
104 {
105  return ((PFN_WDFCOLLECTIONGETCOUNT) WdfFunctions[WdfCollectionGetCountTableIndex])(WdfDriverGlobals, Collection);
106 }
107 
108 //
109 // WDF Function: WdfCollectionAdd
110 //
111 typedef
114 WDFAPI
115 NTSTATUS
116 (STDCALL *PFN_WDFCOLLECTIONADD)(
117  _In_
119  _In_
120  WDFCOLLECTION Collection,
121  _In_
123  );
124 
128 NTSTATUS
129 WdfCollectionAdd(
130  _In_
131  WDFCOLLECTION Collection,
132  _In_
134  )
135 {
136  return ((PFN_WDFCOLLECTIONADD) WdfFunctions[WdfCollectionAddTableIndex])(WdfDriverGlobals, Collection, Object);
137 }
138 
139 //
140 // WDF Function: WdfCollectionRemove
141 //
142 typedef
144 WDFAPI
145 VOID
146 (STDCALL *PFN_WDFCOLLECTIONREMOVE)(
147  _In_
149  _In_
150  WDFCOLLECTION Collection,
151  _In_
153  );
154 
157 VOID
158 WdfCollectionRemove(
159  _In_
160  WDFCOLLECTION Collection,
161  _In_
163  )
164 {
166 }
167 
168 //
169 // WDF Function: WdfCollectionRemoveItem
170 //
171 typedef
173 WDFAPI
174 VOID
175 (STDCALL *PFN_WDFCOLLECTIONREMOVEITEM)(
176  _In_
178  _In_
179  WDFCOLLECTION Collection,
180  _In_
181  ULONG Index
182  );
183 
186 VOID
187 WdfCollectionRemoveItem(
188  _In_
189  WDFCOLLECTION Collection,
190  _In_
191  ULONG Index
192  )
193 {
195 }
196 
197 //
198 // WDF Function: WdfCollectionGetItem
199 //
200 typedef
202 WDFAPI
203 WDFOBJECT
204 (STDCALL *PFN_WDFCOLLECTIONGETITEM)(
205  _In_
207  _In_
208  WDFCOLLECTION Collection,
209  _In_
210  ULONG Index
211  );
212 
215 WDFOBJECT
216 WdfCollectionGetItem(
217  _In_
218  WDFCOLLECTION Collection,
219  _In_
220  ULONG Index
221  )
222 {
223  return ((PFN_WDFCOLLECTIONGETITEM) WdfFunctions[WdfCollectionGetItemTableIndex])(WdfDriverGlobals, Collection, Index);
224 }
225 
226 //
227 // WDF Function: WdfCollectionGetFirstItem
228 //
229 typedef
231 WDFAPI
232 WDFOBJECT
233 (STDCALL *PFN_WDFCOLLECTIONGETFIRSTITEM)(
234  _In_
236  _In_
237  WDFCOLLECTION Collection
238  );
239 
242 WDFOBJECT
243 WdfCollectionGetFirstItem(
244  _In_
245  WDFCOLLECTION Collection
246  )
247 {
248  return ((PFN_WDFCOLLECTIONGETFIRSTITEM) WdfFunctions[WdfCollectionGetFirstItemTableIndex])(WdfDriverGlobals, Collection);
249 }
250 
251 //
252 // WDF Function: WdfCollectionGetLastItem
253 //
254 typedef
256 WDFAPI
257 WDFOBJECT
258 (STDCALL *PFN_WDFCOLLECTIONGETLASTITEM)(
259  _In_
261  _In_
262  WDFCOLLECTION Collection
263  );
264 
267 WDFOBJECT
268 WdfCollectionGetLastItem(
269  _In_
270  WDFCOLLECTION Collection
271  )
272 {
273  return ((PFN_WDFCOLLECTIONGETLASTITEM) WdfFunctions[WdfCollectionGetLastItemTableIndex])(WdfDriverGlobals, Collection);
274 }
275 
276 
277 
278 #endif // (NTDDI_VERSION >= NTDDI_WIN2K)
279 
280 
282 
283 #endif // _WDFCOLLECTION_H_
284 
#define _In_opt_
Definition: ms_sal.h:309
#define _Out_
Definition: ms_sal.h:345
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ WDFCOLLECTION Collection
Definition: wdfregistry.h:367
LONG NTSTATUS
Definition: precomp.h:26
DriverGlobals
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFCOLLECTIONADD)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
#define WdfFunctions
Definition: wdf.h:66
#define WDF_EXTERN_C_END
Definition: wdfcollection.h:40
#define WDFAPI
Definition: wdftypes.h:53
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCOLLECTION * Collection
Definition: wdfcollection.h:64
#define _In_
Definition: ms_sal.h:308
PWDF_DRIVER_GLOBALS WdfDriverGlobals
#define STDCALL
Definition: wdf.h:45
_In_ WDFCOLLECTION _In_ ULONG Index
#define NTSTATUS
Definition: precomp.h:20
#define VOID
Definition: acefi.h:82
#define _Must_inspect_result_
Definition: ms_sal.h:558
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
WDF_EXTERN_C_START typedef _Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES CollectionAttributes
Definition: wdfcollection.h:64
#define FORCEINLINE
Definition: wdftypes.h:67
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
HANDLE WDFOBJECT
Definition: wdftypes.h:114
#define WDF_EXTERN_C_START
Definition: wdfcollection.h:39
unsigned int ULONG
Definition: retypes.h:1