ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

fltuser.h
Go to the documentation of this file.
00001 /*
00002  * fltuser.h
00003  *
00004  * This file is part of the ReactOS DDK package.
00005  *
00006  * Contributors:
00007  *   Amine Khaldi (amine.khaldi@reactos.org)
00008  *
00009  * THIS SOFTWARE IS NOT COPYRIGHTED
00010  *
00011  * This source code is offered for use in the public domain. You may
00012  * use, modify or distribute it freely.
00013  *
00014  * This code is distributed in the hope that it will be useful but
00015  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00016  * DISCLAIMED. This includes but is not limited to warranties of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018  *
00019  */
00020 #pragma once
00021 
00022 #ifndef __FLTUSER_H__
00023 #define __FLTUSER_H__
00024 
00025 #define FLT_MGR_BASELINE (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \
00026                           ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WINXPSP2))) || \
00027                           ((OSVER(NTDDI_VERSION) == NTDDI_WS03)  && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) ||  \
00028                           (NTDDI_VERSION >= NTDDI_VISTA))
00029 
00030 #define FLT_MGR_AFTER_XPSP2 (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) ||  \
00031                              ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) >  SPVER(NTDDI_WINXPSP2))) ||  \
00032                              ((OSVER(NTDDI_VERSION) == NTDDI_WS03)  && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) ||   \
00033                              (NTDDI_VERSION >= NTDDI_VISTA))
00034 
00035 #define FLT_MGR_LONGHORN (NTDDI_VERSION >= NTDDI_VISTA)
00036 #define FLT_MGR_WIN7 (NTDDI_VERSION >= NTDDI_WIN7)
00037 
00038 #include <fltuserstructures.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C" {
00042 #endif
00043 
00044 #if FLT_MGR_BASELINE
00045 
00046 #if FLT_MGR_LONGHORN
00047 #define FLT_ASSERT(_e) NT_ASSERT(_e)
00048 #define FLT_ASSERTMSG(_m, _e) NT_ASSERTMSG(_m, _e)
00049 #else
00050 #define FLT_ASSERT(_e) ASSERT(_e)
00051 #define FLT_ASSERTMSG(_m, _e) ASSERTMSG(_m, _e)
00052 #endif /* FLT_MGR_LONGHORN */
00053 
00054 _Must_inspect_result_
00055 HRESULT
00056 WINAPI
00057 FilterLoad(
00058     _In_ LPCWSTR lpFilterName);
00059 
00060 _Must_inspect_result_
00061 HRESULT
00062 WINAPI
00063 FilterUnload(
00064     _In_ LPCWSTR lpFilterName);
00065 
00066 _Must_inspect_result_
00067 HRESULT
00068 WINAPI
00069 FilterCreate(
00070     _In_ LPCWSTR lpFilterName,
00071     _Outptr_ HFILTER *hFilter);
00072 
00073 HRESULT
00074 WINAPI
00075 FilterClose(
00076     _In_ HFILTER hFilter);
00077 
00078 _Must_inspect_result_
00079 HRESULT
00080 WINAPI
00081 FilterInstanceCreate(
00082     _In_ LPCWSTR lpFilterName,
00083     _In_ LPCWSTR lpVolumeName,
00084     _In_opt_ LPCWSTR lpInstanceName,
00085    _Outptr_ HFILTER_INSTANCE *hInstance);
00086 
00087 HRESULT
00088 WINAPI
00089 FilterInstanceClose(
00090     _In_ HFILTER_INSTANCE hInstance);
00091 
00092 _Must_inspect_result_
00093 HRESULT
00094 WINAPI
00095 FilterAttach(
00096     _In_ LPCWSTR lpFilterName,
00097     _In_ LPCWSTR lpVolumeName,
00098     _In_opt_ LPCWSTR lpInstanceName ,
00099     _In_opt_ DWORD dwCreatedInstanceNameLength ,
00100     _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
00101 
00102 _Must_inspect_result_
00103 HRESULT
00104 WINAPI
00105 FilterAttachAtAltitude(
00106     _In_ LPCWSTR lpFilterName,
00107     _In_ LPCWSTR lpVolumeName,
00108     _In_ LPCWSTR lpAltitude,
00109     _In_opt_ LPCWSTR lpInstanceName ,
00110     _In_opt_ DWORD dwCreatedInstanceNameLength ,
00111     _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
00112 
00113 _Must_inspect_result_
00114 HRESULT
00115 WINAPI
00116 FilterDetach(
00117     _In_ LPCWSTR lpFilterName,
00118     _In_ LPCWSTR lpVolumeName,
00119     _In_opt_ LPCWSTR lpInstanceName);
00120 
00121 _Must_inspect_result_
00122 HRESULT
00123 WINAPI
00124 FilterFindFirst(
00125     _In_ FILTER_INFORMATION_CLASS dwInformationClass,
00126     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00127     _In_ DWORD dwBufferSize,
00128     _Out_ LPDWORD lpBytesReturned,
00129     _Out_ LPHANDLE lpFilterFind);
00130 
00131 _Must_inspect_result_
00132 HRESULT
00133 WINAPI
00134 FilterFindNext(
00135     _In_ HANDLE hFilterFind,
00136     _In_ FILTER_INFORMATION_CLASS dwInformationClass,
00137     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00138     _In_ DWORD dwBufferSize,
00139     _Out_ LPDWORD lpBytesReturned);
00140 
00141 _Must_inspect_result_
00142 HRESULT
00143 WINAPI
00144 FilterFindClose(
00145     _In_ HANDLE hFilterFind);
00146 
00147 _Must_inspect_result_
00148 HRESULT
00149 WINAPI
00150 FilterVolumeFindFirst(
00151     _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
00152     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00153     _In_ DWORD dwBufferSize,
00154     _Out_ LPDWORD lpBytesReturned,
00155     _Out_ PHANDLE lpVolumeFind);
00156 
00157 _Must_inspect_result_
00158 HRESULT
00159 WINAPI
00160 FilterVolumeFindNext(
00161     _In_ HANDLE hVolumeFind,
00162     _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass,
00163     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00164     _In_ DWORD dwBufferSize,
00165     _Out_ LPDWORD lpBytesReturned);
00166 
00167 HRESULT
00168 WINAPI
00169 FilterVolumeFindClose(
00170     _In_ HANDLE hVolumeFind);
00171 
00172 _Must_inspect_result_
00173 HRESULT
00174 WINAPI
00175 FilterInstanceFindFirst(
00176     _In_ LPCWSTR lpFilterName,
00177     _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
00178     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00179     _In_ DWORD dwBufferSize,
00180     _Out_ LPDWORD lpBytesReturned,
00181     _Out_ LPHANDLE lpFilterInstanceFind);
00182 
00183 _Must_inspect_result_
00184 HRESULT
00185 WINAPI
00186 FilterInstanceFindNext(
00187     _In_ HANDLE hFilterInstanceFind,
00188     _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
00189     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00190     _In_ DWORD dwBufferSize,
00191     _Out_ LPDWORD lpBytesReturned);
00192 
00193 _Must_inspect_result_
00194 HRESULT
00195 WINAPI
00196 FilterInstanceFindClose(
00197     _In_ HANDLE hFilterInstanceFind);
00198 
00199 _Must_inspect_result_
00200 HRESULT
00201 WINAPI
00202 FilterVolumeInstanceFindFirst(
00203     _In_ LPCWSTR lpVolumeName,
00204     _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
00205     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00206     _In_ DWORD dwBufferSize,
00207     _Out_ LPDWORD lpBytesReturned,
00208     _Out_ LPHANDLE lpVolumeInstanceFind);
00209 
00210 _Must_inspect_result_
00211 HRESULT
00212 WINAPI
00213 FilterVolumeInstanceFindNext(
00214     _In_ HANDLE hVolumeInstanceFind,
00215     _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
00216     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00217     _In_ DWORD dwBufferSize,
00218     _Out_ LPDWORD lpBytesReturned);
00219 
00220 HRESULT
00221 WINAPI
00222 FilterVolumeInstanceFindClose(
00223     _In_ HANDLE hVolumeInstanceFind);
00224 
00225 _Must_inspect_result_
00226 HRESULT
00227 WINAPI
00228 FilterGetInformation(
00229     _In_ HFILTER hFilter,
00230     _In_ FILTER_INFORMATION_CLASS dwInformationClass,
00231     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00232     _In_ DWORD dwBufferSize,
00233     _Out_ LPDWORD lpBytesReturned);
00234 
00235 _Must_inspect_result_
00236 HRESULT
00237 WINAPI
00238 FilterInstanceGetInformation(
00239     _In_ HFILTER_INSTANCE hInstance,
00240     _In_ INSTANCE_INFORMATION_CLASS dwInformationClass,
00241     _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer,
00242     _In_ DWORD dwBufferSize,
00243     _Out_ LPDWORD lpBytesReturned);
00244 
00245 _Must_inspect_result_
00246 HRESULT
00247 WINAPI
00248 FilterConnectCommunicationPort(
00249     _In_ LPCWSTR lpPortName,
00250     _In_ DWORD dwOptions,
00251     _In_reads_bytes_opt_(wSizeOfContext) LPCVOID lpContext,
00252     _In_ WORD wSizeOfContext,
00253     _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes ,
00254     _Outptr_ HANDLE *hPort);
00255 
00256 _Must_inspect_result_
00257 HRESULT
00258 WINAPI
00259 FilterSendMessage(
00260     _In_ HANDLE hPort,
00261     _In_reads_bytes_opt_(dwInBufferSize) LPVOID lpInBuffer,
00262     _In_ DWORD dwInBufferSize,
00263     _Out_writes_bytes_to_opt_(dwOutBufferSize,*lpBytesReturned) LPVOID lpOutBuffer,
00264     _In_ DWORD dwOutBufferSize,
00265     _Out_ LPDWORD lpBytesReturned);
00266 
00267 _Must_inspect_result_
00268 HRESULT
00269 WINAPI
00270 FilterGetMessage(
00271     _In_ HANDLE hPort,
00272     _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer,
00273     _In_ DWORD dwMessageBufferSize,
00274     _Inout_ LPOVERLAPPED lpOverlapped);
00275 
00276 _Must_inspect_result_
00277 HRESULT
00278 WINAPI
00279 FilterReplyMessage(
00280     _In_ HANDLE hPort,
00281     _In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer,
00282     _In_ DWORD dwReplyBufferSize);
00283 
00284 _Must_inspect_result_
00285 HRESULT
00286 WINAPI
00287 FilterGetDosName(
00288     _In_ LPCWSTR lpVolumeName,
00289     _Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName,
00290     _In_ DWORD dwDosNameBufferSize);
00291 
00292 #endif /* FLT_MGR_BASELINE */
00293 
00294 #ifdef __cplusplus
00295 } /* extern "C" */
00296 #endif
00297 
00298 #endif /* __FLTUSER_H__ */

Generated on Fri May 25 2012 04:28:29 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.