ead64cda27012c050e5320e19e1c0ab5f9172791
[reactos.git] / drivers / filters / fltmgr / Context.c
1 /*
2 * PROJECT: Filesystem Filter Manager
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/filters/fltmgr/Context.c
5 * PURPOSE: Contains context routines
6 * PROGRAMMERS: Ged Murphy (gedmurphy@reactos.org)
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 #include "fltmgr.h"
12 #include "fltmgrint.h"
13
14 #define NDEBUG
15 #include <debug.h>
16
17
18 /* DATA *********************************************************************/
19
20 static
21 BOOLEAN
22 IsContextTypeValid(
23 _In_ FLT_CONTEXT_TYPE ContextType
24 );
25
26 static
27 NTSTATUS
28 SetupContextHeader(
29 _In_ PFLT_FILTER Filter,
30 _In_ PFLT_CONTEXT_REGISTRATION ContextPtr,
31 _Out_ PALLOCATE_CONTEXT_HEADER ContextHeader
32 );
33
34 /* EXPORTED FUNCTIONS ******************************************************/
35
36
37
38
39 /* INTERNAL FUNCTIONS ******************************************************/
40
41
42 NTSTATUS
43 FltpRegisterContexts(_In_ PFLT_FILTER Filter,
44 _In_ const FLT_CONTEXT_REGISTRATION *Context)
45 {
46 UNREFERENCED_PARAMETER(Filter);
47 UNREFERENCED_PARAMETER(Context);
48 return STATUS_NOT_IMPLEMENTED;
49 }
50
51
52 /* PRIVATE FUNCTIONS ******************************************************/
53
54 static
55 BOOLEAN
56 IsContextTypeValid(_In_ FLT_CONTEXT_TYPE ContextType)
57 {
58 switch (ContextType)
59 {
60 case FLT_VOLUME_CONTEXT:
61 case FLT_INSTANCE_CONTEXT:
62 case FLT_FILE_CONTEXT:
63 case FLT_STREAM_CONTEXT:
64 case FLT_STREAMHANDLE_CONTEXT:
65 case FLT_TRANSACTION_CONTEXT:
66 return TRUE;
67 }
68
69 return FALSE;
70 }
71
72 static
73 NTSTATUS
74 SetupContextHeader(_In_ PFLT_FILTER Filter,
75 _In_ PFLT_CONTEXT_REGISTRATION ContextPtr,
76 _Out_ PALLOCATE_CONTEXT_HEADER ContextHeader)
77 {
78 return 0;
79 }