Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299/* * fltuser.h * * This file is part of the ReactOS DDK package. * * Contributors: * Amine Khaldi (amine.khaldi@reactos.org) * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */#pragma once
#ifndef __FLTUSER_H__#define __FLTUSER_H__
#define FLT_MGR_BASELINE (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \ ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WINXPSP2))) || \ ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \ (NTDDI_VERSION >= NTDDI_VISTA))
#define FLT_MGR_AFTER_XPSP2 (((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WIN2KSP4))) || \ ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (SPVER(NTDDI_VERSION) > SPVER(NTDDI_WINXPSP2))) || \ ((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (SPVER(NTDDI_VERSION) >= SPVER(NTDDI_WS03SP1))) || \ (NTDDI_VERSION >= NTDDI_VISTA))
#define FLT_MGR_LONGHORN (NTDDI_VERSION >= NTDDI_VISTA)#define FLT_MGR_WIN7 (NTDDI_VERSION >= NTDDI_WIN7)
#include <fltuserstructures.h>
#ifdef __cplusplusextern "C" {#endif
#if FLT_MGR_BASELINE
#if FLT_MGR_LONGHORN#define FLT_ASSERT(_e) NT_ASSERT(_e)#define FLT_ASSERTMSG(_m, _e) NT_ASSERTMSG(_m, _e)#else#define FLT_ASSERT(_e) ASSERT(_e)#define FLT_ASSERTMSG(_m, _e) ASSERTMSG(_m, _e)#endif /* FLT_MGR_LONGHORN */
_Must_inspect_result_HRESULTWINAPIFilterLoad( _In_ LPCWSTR lpFilterName);
_Must_inspect_result_HRESULTWINAPIFilterUnload( _In_ LPCWSTR lpFilterName);
_Must_inspect_result_HRESULTWINAPIFilterCreate( _In_ LPCWSTR lpFilterName, _Outptr_ HFILTER *hFilter);
HRESULTWINAPIFilterClose( _In_ HFILTER hFilter);
_Must_inspect_result_HRESULTWINAPIFilterInstanceCreate( _In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName, _Outptr_ HFILTER_INSTANCE *hInstance);
HRESULTWINAPIFilterInstanceClose( _In_ HFILTER_INSTANCE hInstance);
_Must_inspect_result_HRESULTWINAPIFilterAttach( _In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName , _In_opt_ DWORD dwCreatedInstanceNameLength , _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
_Must_inspect_result_HRESULTWINAPIFilterAttachAtAltitude( _In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_ LPCWSTR lpAltitude, _In_opt_ LPCWSTR lpInstanceName , _In_opt_ DWORD dwCreatedInstanceNameLength , _Out_writes_bytes_opt_(dwCreatedInstanceNameLength) LPWSTR lpCreatedInstanceName);
_Must_inspect_result_HRESULTWINAPIFilterDetach( _In_ LPCWSTR lpFilterName, _In_ LPCWSTR lpVolumeName, _In_opt_ LPCWSTR lpInstanceName);
_Must_inspect_result_HRESULTWINAPIFilterFindFirst( _In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ LPHANDLE lpFilterFind);
_Must_inspect_result_HRESULTWINAPIFilterFindNext( _In_ HANDLE hFilterFind, _In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
_Must_inspect_result_HRESULTWINAPIFilterFindClose( _In_ HANDLE hFilterFind);
_Must_inspect_result_HRESULTWINAPIFilterVolumeFindFirst( _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned, _Out_ PHANDLE lpVolumeFind);
_Must_inspect_result_HRESULTWINAPIFilterVolumeFindNext( _In_ HANDLE hVolumeFind, _In_ FILTER_VOLUME_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
HRESULTWINAPIFilterVolumeFindClose( _In_ HANDLE hVolumeFind);
_Must_inspect_result_HRESULTWINAPIFilterInstanceFindFirst( _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);
_Must_inspect_result_HRESULTWINAPIFilterInstanceFindNext( _In_ HANDLE hFilterInstanceFind, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
_Must_inspect_result_HRESULTWINAPIFilterInstanceFindClose( _In_ HANDLE hFilterInstanceFind);
_Must_inspect_result_HRESULTWINAPIFilterVolumeInstanceFindFirst( _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);
_Must_inspect_result_HRESULTWINAPIFilterVolumeInstanceFindNext( _In_ HANDLE hVolumeInstanceFind, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
HRESULTWINAPIFilterVolumeInstanceFindClose( _In_ HANDLE hVolumeInstanceFind);
_Must_inspect_result_HRESULTWINAPIFilterGetInformation( _In_ HFILTER hFilter, _In_ FILTER_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
_Must_inspect_result_HRESULTWINAPIFilterInstanceGetInformation( _In_ HFILTER_INSTANCE hInstance, _In_ INSTANCE_INFORMATION_CLASS dwInformationClass, _Out_writes_bytes_to_(dwBufferSize,*lpBytesReturned) LPVOID lpBuffer, _In_ DWORD dwBufferSize, _Out_ LPDWORD lpBytesReturned);
_Must_inspect_result_HRESULTWINAPIFilterConnectCommunicationPort( _In_ LPCWSTR lpPortName, _In_ DWORD dwOptions, _In_reads_bytes_opt_(wSizeOfContext) LPCVOID lpContext, _In_ WORD wSizeOfContext, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes , _Outptr_ HANDLE *hPort);
_Must_inspect_result_HRESULTWINAPIFilterSendMessage( _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_HRESULTWINAPIFilterGetMessage( _In_ HANDLE hPort, _Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer, _In_ DWORD dwMessageBufferSize, _Inout_ LPOVERLAPPED lpOverlapped);
_Must_inspect_result_HRESULTWINAPIFilterReplyMessage( _In_ HANDLE hPort, _In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer, _In_ DWORD dwReplyBufferSize);
_Must_inspect_result_HRESULTWINAPIFilterGetDosName( _In_ LPCWSTR lpVolumeName, _Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName, _In_ DWORD dwDosNameBufferSize);
#endif /* FLT_MGR_BASELINE */
#ifdef __cplusplus} /* extern "C" */#endif
#endif /* __FLTUSER_H__ */