mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 12:26:32 +00:00
299 lines
7.8 KiB
C
299 lines
7.8 KiB
C
/*
|
|
* 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 __cplusplus
|
|
extern "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_
|
|
HRESULT
|
|
WINAPI
|
|
FilterLoad(
|
|
_In_ LPCWSTR lpFilterName);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterUnload(
|
|
_In_ LPCWSTR lpFilterName);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterCreate(
|
|
_In_ LPCWSTR lpFilterName,
|
|
_Outptr_ HFILTER *hFilter);
|
|
|
|
HRESULT
|
|
WINAPI
|
|
FilterClose(
|
|
_In_ HFILTER hFilter);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterInstanceCreate(
|
|
_In_ LPCWSTR lpFilterName,
|
|
_In_ LPCWSTR lpVolumeName,
|
|
_In_opt_ LPCWSTR lpInstanceName,
|
|
_Outptr_ HFILTER_INSTANCE *hInstance);
|
|
|
|
HRESULT
|
|
WINAPI
|
|
FilterInstanceClose(
|
|
_In_ HFILTER_INSTANCE hInstance);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterDetach(
|
|
_In_ LPCWSTR lpFilterName,
|
|
_In_ LPCWSTR lpVolumeName,
|
|
_In_opt_ LPCWSTR lpInstanceName);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterFindClose(
|
|
_In_ HANDLE hFilterFind);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
HRESULT
|
|
WINAPI
|
|
FilterVolumeFindClose(
|
|
_In_ HANDLE hVolumeFind);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterInstanceFindClose(
|
|
_In_ HANDLE hFilterInstanceFind);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
HRESULT
|
|
WINAPI
|
|
FilterVolumeInstanceFindClose(
|
|
_In_ HANDLE hVolumeInstanceFind);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
_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);
|
|
|
|
_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
|
|
FilterGetMessage(
|
|
_In_ HANDLE hPort,
|
|
_Out_writes_bytes_(dwMessageBufferSize) PFILTER_MESSAGE_HEADER lpMessageBuffer,
|
|
_In_ DWORD dwMessageBufferSize,
|
|
_Inout_ LPOVERLAPPED lpOverlapped);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterReplyMessage(
|
|
_In_ HANDLE hPort,
|
|
_In_reads_bytes_(dwReplyBufferSize) PFILTER_REPLY_HEADER lpReplyBuffer,
|
|
_In_ DWORD dwReplyBufferSize);
|
|
|
|
_Must_inspect_result_
|
|
HRESULT
|
|
WINAPI
|
|
FilterGetDosName(
|
|
_In_ LPCWSTR lpVolumeName,
|
|
_Out_writes_(dwDosNameBufferSize) LPWSTR lpDosName,
|
|
_In_ DWORD dwDosNameBufferSize);
|
|
|
|
#endif /* FLT_MGR_BASELINE */
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __FLTUSER_H__ */
|