xref: /reactos/sdk/include/ddk/fltwinerror.h (revision c2c66aff)
1 /*
2  * fltwinerror.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 _FLT_WINERROR_
23 #define _FLT_WINERROR_
24 
25 #if NTDDI_VERSION < NTDDI_VISTA
26 
27 #if !defined(FACILITY_USERMODE_FILTER_MANAGER)
28 
29 #define FILTER_HRESULT_FROM_FLT_NTSTATUS(x) \
30   (NT_ASSERT((x & 0xfff0000) == 0x001c0000),(HRESULT) (((x) & 0x8000FFFF) | (FACILITY_USERMODE_FILTER_MANAGER << 16)))
31 
32 #define FACILITY_USERMODE_FILTER_MANAGER       0x1F
33 
34 #define ERROR_FLT_IO_COMPLETE                  ((HRESULT)0x001F0001L)
35 #define ERROR_FLT_NO_HANDLER_DEFINED           ((HRESULT)0x801F0001L)
36 #define ERROR_FLT_CONTEXT_ALREADY_DEFINED      ((HRESULT)0x801F0002L)
37 #define ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST ((HRESULT)0x801F0003L)
38 #define ERROR_FLT_DISALLOW_FAST_IO             ((HRESULT)0x801F0004L)
39 #define ERROR_FLT_INVALID_NAME_REQUEST         ((HRESULT)0x801F0005L)
40 #define ERROR_FLT_NOT_SAFE_TO_POST_OPERATION   ((HRESULT)0x801F0006L)
41 #define ERROR_FLT_NOT_INITIALIZED              ((HRESULT)0x801F0007L)
42 #define ERROR_FLT_FILTER_NOT_READY             ((HRESULT)0x801F0008L)
43 #define ERROR_FLT_POST_OPERATION_CLEANUP       ((HRESULT)0x801F0009L)
44 #define ERROR_FLT_INTERNAL_ERROR               ((HRESULT)0x801F000AL)
45 #define ERROR_FLT_DELETING_OBJECT              ((HRESULT)0x801F000BL)
46 #define ERROR_FLT_MUST_BE_NONPAGED_POOL        ((HRESULT)0x801F000CL)
47 #define ERROR_FLT_DUPLICATE_ENTRY              ((HRESULT)0x801F000DL)
48 #define ERROR_FLT_CBDQ_DISABLED                ((HRESULT)0x801F000EL)
49 #define ERROR_FLT_DO_NOT_ATTACH                ((HRESULT)0x801F000FL)
50 #define ERROR_FLT_DO_NOT_DETACH                ((HRESULT)0x801F0010L)
51 #define ERROR_FLT_INSTANCE_ALTITUDE_COLLISION  ((HRESULT)0x801F0011L)
52 #define ERROR_FLT_INSTANCE_NAME_COLLISION      ((HRESULT)0x801F0012L)
53 #define ERROR_FLT_FILTER_NOT_FOUND             ((HRESULT)0x801F0013L)
54 #define ERROR_FLT_VOLUME_NOT_FOUND             ((HRESULT)0x801F0014L)
55 #define ERROR_FLT_INSTANCE_NOT_FOUND           ((HRESULT)0x801F0015L)
56 #define ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND ((HRESULT)0x801F0016L)
57 #define ERROR_FLT_INVALID_CONTEXT_REGISTRATION ((HRESULT)0x801F0017L)
58 #define ERROR_FLT_NAME_CACHE_MISS              ((HRESULT)0x801F0018L)
59 #define ERROR_FLT_NO_DEVICE_OBJECT             ((HRESULT)0x801F0019L)
60 #define ERROR_FLT_VOLUME_ALREADY_MOUNTED       ((HRESULT)0x801F001AL)
61 #define ERROR_FLT_NO_WAITER_FOR_REPLY          ((HRESULT)0x801F0020L)
62 
63 #endif /* !defined(FACILITY_USERMODE_FILTER_MANAGER) */
64 
65 #endif /* NTDDI_VERSION < NTDDI_VISTA */
66 
67 #endif /* _FLT_WINERROR_ */
68