ReactOS
0.4.16-dev-588-gf07ea94
fxioqueuekm.hpp
Go to the documentation of this file.
1
/*++
2
3
Copyright (c) Microsoft Corporation
4
5
Module Name:
6
7
FxIoQueueKm.hpp
8
9
Abstract:
10
11
This module implements km specific functions for FxIoQueue.
12
13
Author:
14
15
16
17
Environment:
18
19
Kernel mode only
20
21
Revision History:
22
23
--*/
24
25
#ifndef _FXIOQUEUEKM_HPP_
26
#define _FXIOQUEUEKM_HPP_
27
28
__inline
29
BOOLEAN
30
FxIoQueue::IsPagingIo
(
31
__in
MdIrp
Irp
32
)
33
/*++
34
35
Routine Description:
36
Paging IO is treated especially depending on what Forward Progress policy
37
was set on the Queue
38
--*/
39
{
40
//
41
// NOTE: IRP_INPUT_OPERATION has the same value as IRP_SYNCHRONOUS_PAGING_IO
42
// and IRP_MOUNT_COMPLETION the same as IRP_PAGING_IO so how does one know if
43
// the IO is a paging IO ?
44
//
45
46
// One can assume that if IRP_PAGING_IO is set and the MJ code is not
47
// FILE_SYSTEM_CONTROL then it is a paging I/O.
48
//
49
if
(
Irp
->Flags &
IRP_PAGING_IO
) {
50
if
(
IoGetCurrentIrpStackLocation
(
Irp
)->
MajorFunction
51
!=
IRP_MJ_FILE_SYSTEM_CONTROL
) {
52
return
TRUE
;
53
}
54
}
55
56
return
FALSE
;
57
}
58
59
#endif
// _FXIOQUEUEKM_HPP
IoGetCurrentIrpStackLocation
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
Definition:
Bus_PDO_EvalMethod.c:150
BOOLEAN
unsigned char BOOLEAN
Definition:
ProcessorBind.h:185
__inline
#define __inline
Definition:
_wctype.cpp:15
FxIoQueue::IsPagingIo
BOOLEAN IsPagingIo(__in MdIrp Irp)
Definition:
fxioqueuekm.hpp:30
Irp
_In_ PIRP Irp
Definition:
csq.h:116
__in
#define __in
Definition:
dbghelp.h:35
TRUE
#define TRUE
Definition:
types.h:120
FALSE
#define FALSE
Definition:
types.h:117
MdIrp
IWudfIrp * MdIrp
Definition:
mxum.h:103
MajorFunction
_In_ UCHAR MajorFunction
Definition:
wdfdevice.h:1697
IRP_MJ_FILE_SYSTEM_CONTROL
#define IRP_MJ_FILE_SYSTEM_CONTROL
IRP_PAGING_IO
#define IRP_PAGING_IO
sdk
lib
drivers
wdf
shared
inc
private
km
fxioqueuekm.hpp
Generated on Thu Jan 23 2025 06:14:14 for ReactOS by
1.9.6