ReactOS 0.4.15-dev-7958-gcd0bb1a
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
41extern "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
58 _In_ LPCWSTR lpFilterName);
59
64 _In_ LPCWSTR lpFilterName);
65
70 _In_ LPCWSTR lpFilterName,
71 _Outptr_ HFILTER *hFilter);
72
76 _In_ HFILTER hFilter);
77
82 _In_ LPCWSTR lpFilterName,
83 _In_ LPCWSTR lpVolumeName,
84 _In_opt_ LPCWSTR lpInstanceName,
85 _Outptr_ HFILTER_INSTANCE *hInstance);
86
90 _In_ HFILTER_INSTANCE hInstance);
91
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
104WINAPI
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
115WINAPI
117 _In_ LPCWSTR lpFilterName,
118 _In_ LPCWSTR lpVolumeName,
119 _In_opt_ LPCWSTR lpInstanceName);
120
123WINAPI
125 _In_ FILTER_INFORMATION_CLASS dwInformationClass,
127 _In_ DWORD dwBufferSize,
129 _Out_ LPHANDLE lpFilterFind);
130
133WINAPI
135 _In_ HANDLE hFilterFind,
136 _In_ FILTER_INFORMATION_CLASS dwInformationClass,
138 _In_ DWORD dwBufferSize,
140
143WINAPI
145 _In_ HANDLE hFilterFind);
146
149WINAPI
151 _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
153 _In_ DWORD dwBufferSize,
155 _Out_ PHANDLE lpVolumeFind);
156
159WINAPI
161 _In_ HANDLE hVolumeFind,
162 _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
164 _In_ DWORD dwBufferSize,
166
168WINAPI
170 _In_ HANDLE hVolumeFind);
171
174WINAPI
176 _In_ LPCWSTR lpFilterName,
177 _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
179 _In_ DWORD dwBufferSize,
181 _Out_ LPHANDLE lpFilterInstanceFind);
182
185WINAPI
187 _In_ HANDLE hFilterInstanceFind,
188 _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
190 _In_ DWORD dwBufferSize,
192
195WINAPI
197 _In_ HANDLE hFilterInstanceFind);
198
201WINAPI
203 _In_ LPCWSTR lpVolumeName,
204 _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
206 _In_ DWORD dwBufferSize,
208 _Out_ LPHANDLE lpVolumeInstanceFind);
209
212WINAPI
214 _In_ HANDLE hVolumeInstanceFind,
215 _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
217 _In_ DWORD dwBufferSize,
219
221WINAPI
223 _In_ HANDLE hVolumeInstanceFind);
224
227WINAPI
229 _In_ HFILTER hFilter,
230 _In_ FILTER_INFORMATION_CLASS dwInformationClass,
232 _In_ DWORD dwBufferSize,
234
237WINAPI
239 _In_ HFILTER_INSTANCE hInstance,
240 _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
242 _In_ DWORD dwBufferSize,
244
247WINAPI
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
258WINAPI
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
269WINAPI
271 _In_ HANDLE hPort,
272 _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer,
273 _In_ DWORD dwMessageBufferSize,
275
278WINAPI
280 _In_ HANDLE hPort,
281 _In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer,
282 _In_ DWORD dwReplyBufferSize);
283
286WINAPI
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__ */
HINSTANCE hInstance
Definition: charmap.c:19
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
_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 FilterDetach(_In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName)
Definition: stubs.c:95
_Must_inspect_result_ HRESULT WINAPI FilterCreate(_In_ LPCWSTR lpFilterName, _Outptr_ HFILTER *hFilter)
Definition: stubs.c:17
_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 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 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
_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 FilterGetMessage(_In_ HANDLE hPort, _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer, _In_ DWORD dwMessageBufferSize, _Inout_ LPOVERLAPPED lpOverlapped)
_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
HRESULT WINAPI FilterInstanceClose(_In_ HFILTER_INSTANCE hInstance)
Definition: stubs.c:50
_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 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
_Must_inspect_result_ HRESULT WINAPI FilterInstanceFindClose(_In_ HANDLE hFilterInstanceFind)
Definition: stubs.c:231
_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
_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 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 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 FilterGetDosName(_In_ LPCWSTR lpVolumeName, _Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName, _In_ DWORD dwDosNameBufferSize)
Definition: stubs.c:318
_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
_Must_inspect_result_ HRESULT WINAPI FilterLoad(_In_ LPCWSTR lpFilterName)
Definition: fltlib.c:42
_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
_Must_inspect_result_ HRESULT WINAPI FilterUnload(_In_ LPCWSTR lpFilterName)
Definition: fltlib.c:50
_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)
HRESULT WINAPI FilterClose(_In_ HFILTER hFilter)
Definition: stubs.c:27
_Must_inspect_result_ HRESULT WINAPI FilterFindClose(_In_ HANDLE hFilterFind)
Definition: stubs.c:143
HRESULT WINAPI FilterVolumeFindClose(_In_ HANDLE hVolumeFind)
Definition: stubs.c:185
HRESULT WINAPI FilterVolumeInstanceFindClose(_In_ HANDLE hVolumeInstanceFind)
Definition: stubs.c:275
_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_(size)
Definition: ms_sal.h:321
#define _Inout_
Definition: ms_sal.h:378
#define _Out_writes_bytes_(size)
Definition: ms_sal.h:350
#define _Out_writes_bytes_to_(size, count)
Definition: ms_sal.h:360
#define _Outptr_
Definition: ms_sal.h:427
#define _Out_writes_(size)
Definition: ms_sal.h:348
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _Out_
Definition: ms_sal.h:345
#define _Out_writes_bytes_to_opt_(size, count)
Definition: ms_sal.h:361
#define _In_
Definition: ms_sal.h:308
#define _In_reads_bytes_opt_(size)
Definition: ms_sal.h:322
#define _In_opt_
Definition: ms_sal.h:309
#define _Out_writes_bytes_opt_(size)
Definition: ms_sal.h:351
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED lpOverlapped
Definition: mswsock.h:93
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
DWORD dwOptions
Definition: solitaire.cpp:25
uint32_t * LPDWORD
Definition: typedefs.h:59
_In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpBytesReturned
Definition: winddi.h:1705
CONST void * LPCVOID
Definition: windef.h:191
#define WINAPI
Definition: msvc.h:6
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185