ReactOS 0.4.15-dev-7907-g95bf896
fxrequestmemory.hpp
Go to the documentation of this file.
1
2/*++
3
4Copyright (c) Microsoft. All rights reserved.
5
6Module Name:
7
8 FxRequestMemory.hpp
9
10Abstract:
11
12 This is the memory object for FxRequest that is sized, and
13 allows checking for read/write access.
14
15 It's reference lifetime is tied with IRP completion in
16 FxRequest.
17
18Author:
19
20
21
22Environment:
23
24 Both kernel and user mode
25
26Revision History:
27
28--*/
29
30#ifndef _FXREQUESTMEMORY_H_
31#define _FXREQUESTMEMORY_H_
32
34public:
35
36 // Factory function
37 static
39 Create(
43 );
44
47 );
48
49 // begin end FxMemoryObject
50 virtual
51 PVOID
53 VOID
54 );
55
57 virtual
58 PMDL
59 GetMdl(
60 VOID
61 );
62
63 virtual
64 USHORT
66 VOID
67 )
68 {
69 return m_Flags;
70 }
71 // end FxMemoryObject overrides
72
73 VOID
77 _In_ PMDL BackingMdl,
78 _In_ size_t BufferSize,
80 );
81
82 VOID
83 SetMdl(
86 __in PVOID MdlBuffer,
87 __in size_t BufferSize,
89 );
90
95 );
96
98 VOID
99 );
100
101protected:
102 VOID
105 )
106 {
107 m_Flags = Flags;
108 }
109
110protected:
111
113
114 //
115 // The m_Mdl is owned by this object and it must be freed by the this object.
116 //
118
120};
121
122#endif // _FXREQUESTMEMORY_H_
123
124
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
@ Create
Definition: registry.c:563
Definition: bufpool.h:45
virtual USHORT GetFlags(VOID)
VOID SetMdl(__in FxRequest *Request, __in PMDL Mdl, __in PVOID MdlBuffer, __in size_t BufferSize, __in BOOLEAN ReadOnly)
VOID SetFlags(__in USHORT Flags)
VOID SetBuffer(_In_ FxRequest *Request, _Pre_notnull_ _Pre_writable_byte_size_(BufferSize) PVOID Buffer, _In_ PMDL BackingMdl, _In_ size_t BufferSize, _In_ BOOLEAN ReadOnly)
_Must_inspect_result_ NTSTATUS QueryInterface(__in FxQueryInterfaceParams *Params)
FxRequest * m_Request
virtual _Must_inspect_result_ PMDL GetMdl(VOID)
CLIPBOARD_GLOBALS Globals
Definition: clipbrd.c:13
#define __in
Definition: dbghelp.h:35
#define __in_opt
Definition: dbghelp.h:38
#define __out
Definition: dbghelp.h:62
DriverGlobals
return pMemory GetBuffer()
#define _Pre_writable_byte_size_(size)
Definition: ms_sal.h:647
#define _Pre_notnull_
Definition: ms_sal.h:680
#define _Must_inspect_result_
Definition: ms_sal.h:558
#define _In_
Definition: ms_sal.h:308
unsigned short USHORT
Definition: pedump.c:61
@ ReadOnly
Definition: arc.h:80
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_In_ WDFREQUEST Request
Definition: wdfdevice.h:547
_In_ WDFDEVICE _In_ PVOID _In_opt_ PMDL Mdl
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:308
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170