ReactOS
0.4.15-dev-5606-gf34e425
fxobjectinfokm.cpp
Go to the documentation of this file.
1
/*++
2
3
Copyright (c) Microsoft Corporation
4
5
Module Name:
6
7
FxObjectInfoKm.cpp
8
9
Abstract:
10
11
This file contains object info split from globals.cpp
12
13
This is because objects incorporated in KMDF and UMDF will differ
14
15
Author:
16
17
18
19
20
Environment:
21
22
Kernel mode only
23
24
Revision History:
25
26
--*/
27
28
#include "
fxobjectpch.hpp
"
29
30
#include "
fxmemorybufferpreallocated.hpp
"
31
#include "
fxuserobject.hpp
"
32
#include "
fxusbdevice.hpp
"
33
#include "
fxusbpipe.hpp
"
34
#include "
fxusbinterface.hpp
"
35
36
extern
"C"
37
{
38
39
//
40
// Assumes sorted (by type) order!
41
//
42
FX_OBJECT_INFO
FxObjectsInfo
[] = {
43
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxObject
,
FX_TYPE_OBJECT
),
44
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxDriver
,
FX_TYPE_DRIVER
, WDFDRIVER),
45
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxDevice
,
FX_TYPE_DEVICE
, WDFDEVICE),
46
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxIoQueue
,
FX_TYPE_QUEUE
, WDFQUEUE),
47
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxWmiProvider
,
FX_TYPE_WMI_PROVIDER
, WDFWMIPROVIDER),
48
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxRegKey
,
FX_TYPE_REG_KEY
, WDFKEY),
49
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxString
,
FX_TYPE_STRING
, WDFSTRING),
50
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxRequest
,
FX_TYPE_REQUEST
, WDFREQUEST),
51
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxLookasideList
,
FX_TYPE_LOOKASIDE
, WDFLOOKASIDE),
52
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxMemoryObject
,
IFX_TYPE_MEMORY
, WDFMEMORY),
53
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxIrpQueue
,
FX_TYPE_IRPQUEUE
),
54
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxUserObject
,
FX_TYPE_USEROBJECT
,
WDFOBJECT
),
55
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxCollection
,
FX_TYPE_COLLECTION
, WDFCOLLECTION),
56
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxVerifierLock
,
FX_TYPE_VERIFIERLOCK
),
57
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxSystemThread
,
FX_TYPE_SYSTEMTHREAD
),
58
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxMpDevice
,
FX_TYPE_MP_DEVICE
, WDFDEVICE),
59
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxDpc
,
FX_TYPE_DPC
, WDFDPC),
60
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxResourceIo
,
FX_TYPE_RESOURCE_IO
),
61
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxResourceCm
,
FX_TYPE_RESOURCE_CM
),
62
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxFileObject
,
FX_TYPE_FILEOBJECT
, WDFFILEOBJECT),
63
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxRelatedDevice
,
FX_TYPE_RELATED_DEVICE
),
64
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxMemoryBufferPreallocated
,
FX_TYPE_MEMORY_PREALLOCATED
, WDFMEMORY),
65
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxWaitLock
,
FX_TYPE_WAIT_LOCK
, WDFWAITLOCK),
66
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxSpinLock
,
FX_TYPE_SPIN_LOCK
, WDFSPINLOCK),
67
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxWorkItem
,
FX_TYPE_WORKITEM
, WDFWORKITEM),
68
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxInterrupt
,
FX_TYPE_INTERRUPT
, WDFINTERRUPT),
69
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxTimer
,
FX_TYPE_TIMER
, WDFTIMER),
70
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxChildList
,
FX_TYPE_CHILD_LIST
, WDFCHILDLIST),
71
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxSystemWorkItem
,
FX_TYPE_SYSTEMWORKITEM
),
72
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxRequestMemory
,
FX_TYPE_REQUEST_MEMORY
, WDFMEMORY),
73
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxDisposeList
,
FX_TYPE_DISPOSELIST
),
74
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxWmiInstanceExternal
,
FX_TYPE_WMI_INSTANCE
, WDFWMIINSTANCE),
75
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxIoResList
,
FX_TYPE_IO_RES_LIST
, WDFIORESLIST),
76
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxCmResList
,
FX_TYPE_CM_RES_LIST
, WDFCMRESLIST),
77
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxIoResReqList
,
FX_TYPE_IO_RES_REQ_LIST
, WDFIORESREQLIST),
78
79
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxPkgIo
,
FX_TYPE_PACKAGE_IO
),
80
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxPkgFdo
,
FX_TYPE_PACKAGE_FDO
),
81
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxPkgPdo
,
FX_TYPE_PACKAGE_PDO
),
82
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxWmiIrpHandler
,
FX_TYPE_WMI_IRP_HANDLER
),
83
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxPkgGeneral
,
FX_TYPE_PACKAGE_GENERAL
),
84
FX_INTERNAL_OBJECT_INFO_ENTRY
(
FxDefaultIrpHandler
,
FX_TYPE_DEFAULT_IRP_HANDLER
),
85
86
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxIoTarget
,
FX_TYPE_IO_TARGET
, WDFIOTARGET),
87
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxUsbDevice
,
FX_TYPE_IO_TARGET_USB_DEVICE
, WDFUSBDEVICE),
88
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxUsbPipe
,
FX_TYPE_IO_TARGET_USB_PIPE
, WDFUSBPIPE),
89
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxUsbInterface
,
FX_TYPE_USB_INTERFACE
, WDFUSBINTERFACE),
90
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxIoTargetSelf
,
FX_TYPE_IO_TARGET_SELF
, WDFIOTARGET),
91
92
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxDmaEnabler
,
FX_TYPE_DMA_ENABLER
, WDFDMAENABLER ),
93
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxDmaTransactionBase
,
FX_TYPE_DMA_TRANSACTION
, WDFDMATRANSACTION ),
94
FX_EXTERNAL_OBJECT_INFO_ENTRY
(
FxCommonBuffer
,
FX_TYPE_COMMON_BUFFER
, WDFCOMMONBUFFER ),
95
};
96
97
ULONG
FxObjectsInfoCount
=
sizeof
(
FxObjectsInfo
)/
sizeof
(
FX_OBJECT_INFO
);
98
99
}
//extern "C"
FX_TYPE_PACKAGE_IO
Definition:
fxtypes.h:92
FxPkgFdo
Definition:
fxpkgfdo.hpp:34
FX_TYPE_SPIN_LOCK
Definition:
fxtypes.h:77
FxPkgPdo
Definition:
fxpkgpdo.hpp:31
fxmemorybufferpreallocated.hpp
FxChildList
Definition:
fxchildlist.hpp:102
FxRegKey
Definition:
fxregkey.hpp:25
FX_INTERNAL_OBJECT_INFO_ENTRY
#define FX_INTERNAL_OBJECT_INFO_ENTRY(_obj, _type)
Definition:
fxglobals.h:906
FxDpc
Definition:
fxdpc.hpp:63
FxWorkItem
Definition:
fxworkitem.hpp:47
FX_TYPE_INTERRUPT
Definition:
fxtypes.h:80
FxIrpQueue
Definition:
fxirpqueue.hpp:82
FxSystemThread
Definition:
fxsystemthread.hpp:27
FX_TYPE_RESOURCE_CM
Definition:
fxtypes.h:70
FxWaitLock
Definition:
fxwaitlock.hpp:319
FxMemoryObject
Definition:
fxmemoryobject.hpp:72
FX_TYPE_IO_RES_REQ_LIST
Definition:
fxtypes.h:90
FX_TYPE_SYSTEMWORKITEM
Definition:
fxtypes.h:84
FX_TYPE_DISPOSELIST
Definition:
fxtypes.h:86
FxResourceCm
Definition:
fxresource.hpp:249
FxObject
Definition:
fxobject.hpp:232
FxRequestMemory
Definition:
fxrequestmemory.hpp:33
FX_TYPE_WORKITEM
Definition:
fxtypes.h:78
FX_TYPE_SYSTEMTHREAD
Definition:
fxtypes.h:66
FxSpinLock
Definition:
fxspinlock.hpp:41
FxCommonBuffer
Definition:
fxcommonbuffer.hpp:54
FX_TYPE_QUEUE
Definition:
fxtypes.h:48
FX_TYPE_COLLECTION
Definition:
fxtypes.h:59
FX_TYPE_IRPQUEUE
Definition:
fxtypes.h:56
FxTimer
Definition:
fxtimer.hpp:42
FxDevice
Definition:
fxdevice.hpp:487
FxRequest
Definition:
fxrequest.hpp:396
FX_TYPE_PACKAGE_GENERAL
Definition:
fxtypes.h:96
FxDefaultIrpHandler
Definition:
fxdefaultirphandler.hpp:7
FX_TYPE_PACKAGE_FDO
Definition:
fxtypes.h:93
FX_TYPE_MEMORY_PREALLOCATED
Definition:
fxtypes.h:75
FxCmResList
Definition:
fxresource.hpp:348
FX_TYPE_WMI_IRP_HANDLER
Definition:
fxtypes.h:95
fxuserobject.hpp
FX_TYPE_FILEOBJECT
Definition:
fxtypes.h:71
FxVerifierLock
Definition:
fxverifierlock.hpp:259
FxIoTargetSelf
Definition:
fxiotargetself.hpp:35
FxWmiProvider
Definition:
fxwmiprovider.hpp:73
FxObjectsInfoCount
ULONG FxObjectsInfoCount
Definition:
fxobjectinfokm.cpp:97
FxIoResReqList
Definition:
fxresource.hpp:626
FX_TYPE_CHILD_LIST
Definition:
fxtypes.h:82
FX_TYPE_WAIT_LOCK
Definition:
fxtypes.h:76
FxPkgGeneral
Definition:
fxpkggeneral.hpp:66
FxMpDevice
Definition:
fxdevice.hpp:2222
FxInterrupt
Definition:
fxinterrupt.hpp:45
FxIoQueue
Definition:
fxioqueue.hpp:232
FX_TYPE_REG_KEY
Definition:
fxtypes.h:51
FX_TYPE_CM_RES_LIST
Definition:
fxtypes.h:89
FxObjectsInfo
FX_OBJECT_INFO FxObjectsInfo[]
Definition:
fxobjectinfokm.cpp:42
IFX_TYPE_MEMORY
Definition:
fxtypes.h:55
FX_TYPE_RESOURCE_IO
Definition:
fxtypes.h:69
FX_TYPE_RELATED_DEVICE
Definition:
fxtypes.h:74
FxDmaTransactionBase
Definition:
fxdmatransaction.hpp:86
FX_TYPE_LOOKASIDE
Definition:
fxtypes.h:54
FxDisposeList
Definition:
fxdisposelist.hpp:51
FxUsbDevice
Definition:
fxusbdevice.hpp:183
FxWmiIrpHandler
Definition:
fxwmiirphandler.hpp:44
FxWmiInstanceExternal
Definition:
fxwmiinstance.hpp:370
FX_TYPE_DEVICE
Definition:
fxtypes.h:47
FxRelatedDevice
Definition:
fxrelateddevice.hpp:36
FX_TYPE_STRING
Definition:
fxtypes.h:52
FX_TYPE_IO_TARGET_USB_PIPE
Definition:
fxtypes.h:103
FX_TYPE_IO_TARGET
Definition:
fxtypes.h:100
FX_TYPE_DEFAULT_IRP_HANDLER
Definition:
fxtypes.h:97
FxIoResList
Definition:
fxresource.hpp:719
FX_TYPE_DMA_ENABLER
Definition:
fxtypes.h:107
FxMemoryBufferPreallocated
Definition:
fxmemorybufferpreallocated.hpp:24
FX_TYPE_TIMER
Definition:
fxtypes.h:81
fxobjectpch.hpp
FxResourceIo
Definition:
fxresource.hpp:222
FX_TYPE_REQUEST
Definition:
fxtypes.h:53
FX_TYPE_DMA_TRANSACTION
Definition:
fxtypes.h:108
FX_TYPE_PACKAGE_PDO
Definition:
fxtypes.h:94
FX_TYPE_VERIFIERLOCK
Definition:
fxtypes.h:65
FxUsbInterface
Definition:
fxusbinterface.hpp:32
FX_TYPE_IO_RES_LIST
Definition:
fxtypes.h:88
FxUsbPipe
Definition:
fxusbpipe.hpp:409
FxDmaEnabler
Definition:
fxdmaenabler.hpp:66
FxFileObject
Definition:
fxfileobject.hpp:29
FxUserObject
Definition:
fxuserobject.hpp:35
FxDriver
Definition:
fxdriver.hpp:54
FX_TYPE_DRIVER
Definition:
fxtypes.h:46
FxPkgIo
Definition:
fxpkgio.hpp:57
fxusbdevice.hpp
fxusbpipe.hpp
FxSystemWorkItem
Definition:
fxsystemworkitem.hpp:48
FX_TYPE_DPC
Definition:
fxtypes.h:68
FxIoTarget
Definition:
fxiotarget.hpp:210
FX_TYPE_USB_INTERFACE
Definition:
fxtypes.h:104
FX_TYPE_COMMON_BUFFER
Definition:
fxtypes.h:109
FX_TYPE_WMI_INSTANCE
Definition:
fxtypes.h:87
ULONG
unsigned int ULONG
Definition:
retypes.h:1
FX_EXTERNAL_OBJECT_INFO_ENTRY
#define FX_EXTERNAL_OBJECT_INFO_ENTRY(_obj, _type, _handletype)
Definition:
fxglobals.h:923
FX_TYPE_IO_TARGET_USB_DEVICE
Definition:
fxtypes.h:102
FX_TYPE_USEROBJECT
Definition:
fxtypes.h:57
_FX_OBJECT_INFO
Definition:
fxglobals.h:876
void
Definition:
nsiface.idl:2306
FxCollection
Definition:
fxcollection.hpp:194
FxLookasideList
Definition:
fxlookasidelist.hpp:25
FX_TYPE_WMI_PROVIDER
Definition:
fxtypes.h:49
FxString
Definition:
fxstring.hpp:30
FX_TYPE_IO_TARGET_SELF
Definition:
fxtypes.h:105
FX_TYPE_OBJECT
Definition:
fxtypes.h:45
FX_TYPE_MP_DEVICE
Definition:
fxtypes.h:67
FX_TYPE_REQUEST_MEMORY
Definition:
fxtypes.h:85
fxusbinterface.hpp
sdk
lib
drivers
wdf
kmdf
src
fxtosharedinterface
fxobject
fxobjectinfokm.cpp
Generated on Thu Jan 26 2023 06:10:19 for ReactOS by
1.8.15