ReactOS  0.4.14-dev-323-g6fe6a88
fltuser.h
Go to the documentation of this file.
1 /*
2  * fltuser.h
3  *
4  * This file is part of the ReactOS DDK package.
5  *
6  * Contributors:
7  * Amine Khaldi (amine.khaldi@reactos.org)
8  *
9  * THIS SOFTWARE IS NOT COPYRIGHTED
10  *
11  * This source code is offered for use in the public domain. You may
12  * use, modify or distribute it freely.
13  *
14  * This code is distributed in the hope that it will be useful but
15  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
16  * DISCLAIMED. This includes but is not limited to warranties of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18  *
19  */
20 #pragma once
21 
22 #ifndef __FLTUSER_H__
23 #define __FLTUSER_H__
24 
25 #define FLT_MGR_BASELINE (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \
26  ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WINXPSP2))) || \
27  ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \
28  (NTDDI_VERSION >= NTDDI_VISTA))
29 
30 #define FLT_MGR_AFTER_XPSP2 (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \
31  ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) > SPVER(NTDDI_WINXPSP2))) || \
32  ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \
33  (NTDDI_VERSION >= NTDDI_VISTA))
34 
35 #define FLT_MGR_LONGHORN (NTDDI_VERSION >= NTDDI_VISTA)
36 #define FLT_MGR_WIN7 (NTDDI_VERSION >= NTDDI_WIN7)
37 
38 #include <fltuserstructures.h>
39 
40 #ifdef __cplusplus
41 extern "C" {
42 #endif
43 
44 #if FLT_MGR_BASELINE
45 
46 #if FLT_MGR_LONGHORN
47 #define FLT_ASSERT(_e) NT_ASSERT(_e)
48 #define FLT_ASSERTMSG(_m, _e) NT_ASSERTMSG(_m, _e)
49 #else
50 #define FLT_ASSERT(_e) ASSERT(_e)
51 #define FLT_ASSERTMSG(_m, _e) ASSERTMSG(_m, _e)
52 #endif /* FLT_MGR_LONGHORN */
53 
55 HRESULT
56 WINAPI
58  _In_ LPCWSTR lpFilterName);
59 
61 HRESULT
62 WINAPI
64  _In_ LPCWSTR lpFilterName);
65 
67 HRESULT
68 WINAPI
70  _In_ LPCWSTR lpFilterName,
71  _Outptr_ HFILTER *hFilter);
72 
73 HRESULT
74 WINAPI
76  _In_ HFILTER hFilter);
77 
79 HRESULT
80 WINAPI
82  _In_ LPCWSTR lpFilterName,
83  _In_ LPCWSTR lpVolumeName,
84  _In_opt_ LPCWSTR lpInstanceName,
85  _Outptr_ HFILTER_INSTANCE *hInstance);
86 
87 HRESULT
88 WINAPI
90  _In_ HFILTER_INSTANCE hInstance);
91 
93 HRESULT
94 WINAPI
96  _In_ LPCWSTR lpFilterName,
97  _In_ LPCWSTR lpVolumeName,
98  _In_opt_ LPCWSTR lpInstanceName ,
99  _In_opt_ DWORD dwCreatedInstanceNameLength ,
100  _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
101 
103 HRESULT
104 WINAPI
106  _In_ LPCWSTR lpFilterName,
107  _In_ LPCWSTR lpVolumeName,
108  _In_ LPCWSTR lpAltitude,
109  _In_opt_ LPCWSTR lpInstanceName ,
110  _In_opt_ DWORD dwCreatedInstanceNameLength ,
111  _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
112 
114 HRESULT
115 WINAPI
117  _In_ LPCWSTR lpFilterName,
118  _In_ LPCWSTR lpVolumeName,
119  _In_opt_ LPCWSTR lpInstanceName);
120 
122 HRESULT
123 WINAPI
125  _In_ FILTER_INFORMATION_CLASS dwInformationClass,
127  _In_ DWORD dwBufferSize,
129  _Out_ LPHANDLE lpFilterFind);
130 
132 HRESULT
133 WINAPI
135  _In_ HANDLE hFilterFind,
136  _In_ FILTER_INFORMATION_CLASS dwInformationClass,
138  _In_ DWORD dwBufferSize,
140 
142 HRESULT
143 WINAPI
145  _In_ HANDLE hFilterFind);
146 
148 HRESULT
149 WINAPI
151  _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
153  _In_ DWORD dwBufferSize,
155  _Out_ PHANDLE lpVolumeFind);
156 
158 HRESULT
159 WINAPI
161  _In_ HANDLE hVolumeFind,
162  _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
164  _In_ DWORD dwBufferSize,
166 
167 HRESULT
168 WINAPI
170  _In_ HANDLE hVolumeFind);
171 
173 HRESULT
174 WINAPI
176  _In_ LPCWSTR lpFilterName,
177  _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
179  _In_ DWORD dwBufferSize,
181  _Out_ LPHANDLE lpFilterInstanceFind);
182 
184 HRESULT
185 WINAPI
187  _In_ HANDLE hFilterInstanceFind,
188  _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
190  _In_ DWORD dwBufferSize,
192 
194 HRESULT
195 WINAPI
197  _In_ HANDLE hFilterInstanceFind);
198 
200 HRESULT
201 WINAPI
203  _In_ LPCWSTR lpVolumeName,
204  _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
206  _In_ DWORD dwBufferSize,
208  _Out_ LPHANDLE lpVolumeInstanceFind);
209 
211 HRESULT
212 WINAPI
214  _In_ HANDLE hVolumeInstanceFind,
215  _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
217  _In_ DWORD dwBufferSize,
219 
220 HRESULT
221 WINAPI
223  _In_ HANDLE hVolumeInstanceFind);
224 
226 HRESULT
227 WINAPI
229  _In_ HFILTER hFilter,
230  _In_ FILTER_INFORMATION_CLASS dwInformationClass,
232  _In_ DWORD dwBufferSize,
234 
236 HRESULT
237 WINAPI
239  _In_ HFILTER_INSTANCE hInstance,
240  _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
242  _In_ DWORD dwBufferSize,
244 
246 HRESULT
247 WINAPI
249  _In_ LPCWSTR lpPortName,
251  _In_reads_bytes_opt_(wSizeOfContext) LPCVOID lpContext,
252  _In_ WORD wSizeOfContext,
253  _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes ,
254  _Outptr_ HANDLE *hPort);
255 
257 HRESULT
258 WINAPI
260  _In_ HANDLE hPort,
261  _In_reads_bytes_opt_(dwInBufferSize) LPVOID lpInBuffer,
262  _In_ DWORD dwInBufferSize,
263  _Out_writes_bytes_to_opt_(dwOutBufferSize,*lpBytesReturned) LPVOID lpOutBuffer,
264  _In_ DWORD dwOutBufferSize,
266 
268 HRESULT
269 WINAPI
271  _In_ HANDLE hPort,
272  _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer,
273  _In_ DWORD dwMessageBufferSize,
275 
277 HRESULT
278 WINAPI
280  _In_ HANDLE hPort,
281  _In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer,
282  _In_ DWORD dwReplyBufferSize);
283 
285 HRESULT
286 WINAPI
288  _In_ LPCWSTR lpVolumeName,
289  _Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName,
290  _In_ DWORD dwDosNameBufferSize);
291 
292 #endif /* FLT_MGR_BASELINE */
293 
294 #ifdef __cplusplus
295 } /* extern "C" */
296 #endif
297 
298 #endif /* __FLTUSER_H__ */
DWORD dwOptions
Definition: solitaire.cpp:23
#define _Must_inspect_result_
Definition: no_sal2.h:314
#define _Out_writes_bytes_to_(size, count)
Definition: no_sal2.h:374
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define _Out_writes_bytes_to_opt_(size, count)
Definition: no_sal2.h:375
_Must_inspect_result_ HRESULT WINAPI FilterReplyMessage(_In_ HANDLE hPort, _In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer, _In_ DWORD dwReplyBufferSize)
Definition: message.c:165
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
#define _Outptr_
Definition: no_sal2.h:396
_Must_inspect_result_ HRESULT WINAPI FilterGetMessage(_In_ HANDLE hPort, _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer, _In_ DWORD dwMessageBufferSize, _Inout_ LPOVERLAPPED lpOverlapped)
_Must_inspect_result_ HRESULT WINAPI FilterGetDosName(_In_ LPCWSTR lpVolumeName, _Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName, _In_ DWORD dwDosNameBufferSize)
Definition: stubs.c:318
_Must_inspect_result_ HRESULT WINAPI FilterFindNext(_In_ HANDLE hFilterFind, _In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:126
_Must_inspect_result_ HRESULT WINAPI FilterConnectCommunicationPort(_In_ LPCWSTR lpPortName, _In_ DWORD dwOptions, _In_reads_bytes_opt_(wSizeOfContext) LPCVOID lpContext, _In_ WORD wSizeOfContext, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Outptr_ HANDLE *hPort)
Definition: message.c:25
#define _In_opt_
Definition: no_sal2.h:213
_Must_inspect_result_ HRESULT WINAPI FilterUnload(_In_ LPCWSTR lpFilterName)
Definition: fltlib.c:50
#define _Out_writes_(size)
Definition: no_sal2.h:367
HRESULT WINAPI FilterVolumeInstanceFindClose(_In_ HANDLE hVolumeInstanceFind)
Definition: stubs.c:275
_Must_inspect_result_ HRESULT WINAPI FilterInstanceFindClose(_In_ HANDLE hFilterInstanceFind)
Definition: stubs.c:231
HINSTANCE hInstance
Definition: charmap.c:20
_Must_inspect_result_ HRESULT WINAPI FilterSendMessage(_In_ HANDLE hPort, _In_reads_bytes_opt_(dwInBufferSize) LPVOID lpInBuffer, _In_ DWORD dwInBufferSize, _Out_writes_bytes_to_opt_(dwOutBufferSize, *lpBytesReturned) LPVOID lpOutBuffer, _In_ DWORD dwOutBufferSize, _Out_ LPDWORD lpBytesReturned)
_Must_inspect_result_ HRESULT WINAPI FilterFindClose(_In_ HANDLE hFilterFind)
Definition: stubs.c:143
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:173
#define _Out_writes_bytes_opt_(a)
Definition: btrfs_drv.h:193
#define _Out_writes_bytes_(size)
Definition: no_sal2.h:370
#define _Out_
Definition: no_sal2.h:323
HRESULT WINAPI FilterVolumeFindClose(_In_ HANDLE hVolumeFind)
Definition: stubs.c:185
LONG HRESULT
Definition: typedefs.h:77
#define WINAPI
Definition: msvc.h:8
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
#define _Inout_
Definition: no_sal2.h:244
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
_Must_inspect_result_ HRESULT WINAPI FilterDetach(_In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName)
Definition: stubs.c:95
_Must_inspect_result_ HRESULT WINAPI FilterGetInformation(_In_ HFILTER hFilter, _In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:284
_Must_inspect_result_ HRESULT WINAPI FilterInstanceGetInformation(_In_ HFILTER_INSTANCE hInstance, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:301
_Must_inspect_result_ HRESULT WINAPI FilterVolumeFindFirst(_In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ PHANDLE lpVolumeFind)
Definition: stubs.c:152
#define _In_reads_bytes_(size)
Definition: no_sal2.h:229
_Must_inspect_result_ HRESULT WINAPI FilterFindFirst(_In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ LPHANDLE lpFilterFind)
Definition: stubs.c:109
#define _In_
Definition: no_sal2.h:204
_Must_inspect_result_ HRESULT WINAPI FilterCreate(_In_ LPCWSTR lpFilterName, _Outptr_ HFILTER *hFilter)
Definition: stubs.c:17
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:90
_Must_inspect_result_ HRESULT WINAPI FilterVolumeFindNext(_In_ HANDLE hVolumeFind, _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:169
HRESULT WINAPI FilterInstanceClose(_In_ HFILTER_INSTANCE hInstance)
Definition: stubs.c:50
HRESULT WINAPI FilterClose(_In_ HFILTER hFilter)
Definition: stubs.c:27
_In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpBytesReturned
Definition: winddi.h:1704
_Must_inspect_result_ HRESULT WINAPI FilterVolumeInstanceFindFirst(_In_ LPCWSTR lpVolumeName, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ LPHANDLE lpVolumeInstanceFind)
Definition: stubs.c:240
CONST void * LPCVOID
Definition: windef.h:191
uint32_t * LPDWORD
Definition: typedefs.h:57
_Must_inspect_result_ HRESULT WINAPI FilterLoad(_In_ LPCWSTR lpFilterName)
Definition: fltlib.c:42
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_Must_inspect_result_ HRESULT WINAPI FilterAttach(_In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName, _In_opt_ DWORD dwCreatedInstanceNameLength, _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName)
Definition: stubs.c:59
_Must_inspect_result_ HRESULT WINAPI FilterAttachAtAltitude(_In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_ LPCWSTR lpAltitude, _In_opt_ LPCWSTR lpInstanceName, _In_opt_ DWORD dwCreatedInstanceNameLength, _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName)
Definition: stubs.c:76
_Must_inspect_result_ HRESULT WINAPI FilterInstanceFindFirst(_In_ LPCWSTR lpFilterName, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ LPHANDLE lpFilterInstanceFind)
Definition: stubs.c:194
_Must_inspect_result_ HRESULT WINAPI FilterInstanceFindNext(_In_ HANDLE hFilterInstanceFind, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:213
_Must_inspect_result_ HRESULT WINAPI FilterInstanceCreate(_In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName, _Outptr_ HFILTER_INSTANCE *hInstance)
Definition: stubs.c:36
_Must_inspect_result_ HRESULT WINAPI FilterVolumeInstanceFindNext(_In_ HANDLE hVolumeInstanceFind, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize, *lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned)
Definition: stubs.c:259