ReactOS 0.4.16-dev-258-g81860b4
wdfcx.h
Go to the documentation of this file.
1/*
2 * PROJECT: Kernel Mode Device Framework
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Missing headers (wdfcx.h)
5 * COPYRIGHT: 2020 Victor Perevertkin (victor.perevertkin@reactos.org)
6 */
7
8#ifndef _WDFCX_H_
9#define _WDFCX_H_
10
11typedef BOOLEAN
13 _In_ WDFDEVICE Device,
14 _In_ WDFREQUEST Request,
15 _In_opt_ WDFFILEOBJECT FileObject);
16
17// _WDFCX_FILEOBJECT_CONFIG_V1_17
18
20 //
21 // Size of this structure in bytes
22 //
24
25 //
26 // Event callback for create requests
27 //
29
30 //
31 // Event callback for close requests
32 //
34
35 //
36 // Event callback for cleanup requests
37 //
39
40 //
41 // If WdfTrue, create/cleanup/close file object related requests will be
42 // sent down the stack.
43 //
44 // If WdfFalse, create/cleanup/close will be completed at this location in
45 // the device stack.
46 //
47 // If WdfDefault, behavior depends on device type
48 // FDO, PDO, Control: use the WdfFalse behavior
49 // Filter: use the WdfTrue behavior
50 //
52
53 //
54 // Specify whether framework should create WDFFILEOBJECT and also
55 // whether it can FsContexts fields in the WDM fileobject to store
56 // WDFFILEOBJECT so that it can avoid table look up and improve perf.
57 //
59
61
62typedef NTSTATUS
64 _In_ WDFDEVICE Device,
67
72
73typedef NTSTATUS
83
84typedef VOID
89
90typedef VOID
95
96typedef VOID
102
103typedef VOID
107 _In_ ULONG BugCheckCode,
108 _In_ ULONG_PTR BugCheckParameter1,
109 _In_ ULONG_PTR BugCheckParameter2,
110 _In_ ULONG_PTR BugCheckParameter3,
111 _In_ ULONG_PTR BugCheckParameter4);
112
113typedef WDFIOTARGET
116 _In_ WDFDEVICE Device);
117
118typedef VOID
122
123typedef NTSTATUS
126 _In_ WDFIOTARGET IoTarget,
127 _In_ WDFQUEUE Queue);
128
129// some other random stuff
130
140
141#endif // _WDFCX_H_
#define VOID
Definition: acefi.h:82
_In_ PIRP Irp
Definition: csq.h:116
#define NTSTATUS
Definition: precomp.h:21
DriverGlobals
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT CxDeviceInit
Definition: fxdynamics.h:1012
_Must_inspect_result_ _In_ PWDFCXDEVICE_INIT _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess
Definition: fxdynamics.h:1014
_In_ PWDFCXDEVICE_INIT _In_ PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig
Definition: fxdynamics.h:1060
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _Inout_
Definition: no_sal2.h:162
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _When_(c, a)
Definition: no_sal2.h:38
#define BOOLEAN
Definition: pedump.c:73
WDF_TRI_STATE AutoForwardCleanupClose
Definition: wdfcx.h:51
PFN_WDF_FILE_CLEANUP EvtFileCleanup
Definition: wdfcx.h:38
PFN_WDFCX_DEVICE_FILE_CREATE EvtCxDeviceFileCreate
Definition: wdfcx.h:28
PFN_WDF_FILE_CLOSE EvtFileClose
Definition: wdfcx.h:33
WDF_FILEOBJECT_CLASS FileObjectClass
Definition: wdfcx.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define STDCALL
Definition: wdf.h:45
_Must_inspect_result_ _In_ WDFDEVICE Device
Definition: wdfchildlist.h:474
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_In_ PWDFDEVICE_INIT DeviceInit
Definition: wdfcontrol.h:113
VOID(STDCALL * PFN_WDFCXVERIFIERKEBUGCHECK)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_opt_ WDFOBJECT Object, _In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
Definition: wdfcx.h:104
PVOID PFN_WDF_CLASS_EXPORT
Definition: wdfcx.h:133
PVOID PFN_WDF_CLASS_LIBRARY_BIND_CLIENT
Definition: wdfcx.h:136
struct _WDFCX_FILEOBJECT_CONFIG * PWDFCX_FILEOBJECT_CONFIG
PVOID PFN_WDF_CLASS_LIBRARY_UNBIND_CLIENT
Definition: wdfcx.h:137
struct _WDFCX_FILEOBJECT_CONFIG WDFCX_FILEOBJECT_CONFIG
BOOLEAN(STDCALL * PFN_WDFCX_DEVICE_FILE_CREATE)(_In_ WDFDEVICE Device, _In_ WDFREQUEST Request, _In_opt_ WDFFILEOBJECT FileObject)
Definition: wdfcx.h:12
PVOID PFN_WDF_CLASS_LIBRARY_DEINITIALIZE
Definition: wdfcx.h:135
NTSTATUS(STDCALL * PFN_WDFIOTARGETSELFASSIGNDEFAULTIOQUEUE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFIOTARGET IoTarget, _In_ WDFQUEUE Queue)
Definition: wdfcx.h:124
PVOID PFN_WDF_CLASS_EXTENSIONIN_BIND
Definition: wdfcx.h:131
NTSTATUS(STDCALL * PFN_WDFCXDEVICEINITASSIGNWDMIRPPREPROCESSCALLBACK)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFCXDEVICE_INIT CxDeviceInit, _In_ PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess, _In_ UCHAR MajorFunction, _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) _When_(NumMinorFunctions==0, _In_opt_) PUCHAR MinorFunctions, _In_ ULONG NumMinorFunctions)
Definition: wdfcx.h:74
WDFIOTARGET(STDCALL * PFN_WDFDEVICEGETSELFIOTARGET)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFDEVICE Device)
Definition: wdfcx.h:114
PVOID PFN_WDF_CLIENT_UNBIND_CLASS
Definition: wdfcx.h:139
NTSTATUS(STDCALL * PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS)(_In_ WDFDEVICE Device, _Inout_ PIRP Irp, _In_ PVOID DispatchContext)
Definition: wdfcx.h:63
PWDFCXDEVICE_INIT(STDCALL * PFN_WDFCXDEVICEINITALLOCATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFDEVICE_INIT DeviceInit)
Definition: wdfcx.h:69
VOID(STDCALL * PFN_WDFCXDEVICEINITSETFILEOBJECTCONFIG)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFCXDEVICE_INIT CxDeviceInit, _In_ PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig, _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes)
Definition: wdfcx.h:97
PVOID PFN_WDF_CLASS_LIBRARY_INITIALIZE
Definition: wdfcx.h:134
PVOID PFN_WDF_CLIENT_BIND_CLASS
Definition: wdfcx.h:138
VOID(STDCALL * PFN_WDFCXDEVICEINITSETREQUESTATTRIBUTES)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFCXDEVICE_INIT CxDeviceInit, _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes)
Definition: wdfcx.h:91
PVOID PFN_WDF_CLASS_EXTENSIONIN_UNBIND
Definition: wdfcx.h:132
VOID(STDCALL * PFN_WDFDEVICEINITALLOWSELFIOTARGET)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFDEVICE_INIT DeviceInit)
Definition: wdfcx.h:119
VOID(STDCALL * PFN_WDFCXDEVICEINITSETIOINCALLERCONTEXTCALLBACK)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ PWDFCXDEVICE_INIT CxDeviceInit, _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext)
Definition: wdfcx.h:85
_In_ PWDFDEVICE_INIT _In_ PWDF_FILEOBJECT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
Definition: wdfdevice.h:3400
_In_ UCHAR _In_ UCHAR _In_ ULONG _In_ WDFCONTEXT _Inout_ PIRP _In_ WDFCONTEXT DispatchContext
Definition: wdfdevice.h:1708
_In_ PWDFDEVICE_INIT _In_ PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext
Definition: wdfdevice.h:3505
_In_ PWDFDEVICE_INIT _In_ PWDF_OBJECT_ATTRIBUTES RequestAttributes
Definition: wdfdevice.h:3431
enum _WDF_FILEOBJECT_CLASS WDF_FILEOBJECT_CLASS
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject
Definition: wdfdevice.h:550
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR _In_ ULONG NumMinorFunctions
Definition: wdfdevice.h:3468
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2225
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PFN_WDFDEVICE_WDM_IRP_PREPROCESS _In_ UCHAR _In_opt_ PUCHAR MinorFunctions
Definition: wdfdevice.h:3465
EVT_WDF_IO_IN_CALLER_CONTEXT * PFN_WDF_IO_IN_CALLER_CONTEXT
Definition: wdfdevice.h:1728
EVT_WDF_FILE_CLOSE * PFN_WDF_FILE_CLOSE
Definition: wdfdevice.h:565
_In_ UCHAR MajorFunction
Definition: wdfdevice.h:1697
EVT_WDF_FILE_CLEANUP * PFN_WDF_FILE_CLEANUP
Definition: wdfdevice.h:578
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIOTARGET * IoTarget
Definition: wdfiotarget.h:368
struct WDFCXDEVICE_INIT * PWDFCXDEVICE_INIT
Definition: wdftypes.h:100
enum _WDF_TRI_STATE WDF_TRI_STATE
unsigned char UCHAR
Definition: xmlstorage.h:181