Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenfltuser.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
1.7.6.1
|