1 /*++ 2 3 Copyright (c) Microsoft. All rights reserved. 4 5 Module Name: 6 7 FxTypes.h 8 9 Abstract: 10 11 This defines the memory tags for the frameworks objects 12 13 Author: 14 15 16 17 18 Revision History: 19 20 21 --*/ 22 23 #ifndef _FXTYPES_H 24 #define _FXTYPES_H 25 26 // 27 // Might be expanded to a ULONG if we need the storage 28 // 29 typedef USHORT WDFTYPE; 30 31 32 enum FX_OBJECT_TYPES_BASE { 33 34 FX_TYPES_BASE = 0x1000, 35 FX_TYPES_PACKAGES_BASE = 0x1100, 36 FX_TYPES_IO_TARGET_BASE = 0x1200, 37 FX_ABSTRACT_TYPES_BASE = 0x1300, 38 FX_TYPES_DMA_BASE = 0x1400, 39 FX_TYPES_INTERFACES_BASE = 0x1500, 40 }; 41 42 enum FX_OBJECT_TYPES { 43 // Use Hex numbers since this the kd default dump value 44 45 FX_TYPE_OBJECT = FX_TYPES_BASE+0x0, 46 FX_TYPE_DRIVER = FX_TYPES_BASE+0x1, 47 FX_TYPE_DEVICE = FX_TYPES_BASE+0x2, 48 FX_TYPE_QUEUE = FX_TYPES_BASE+0x3, 49 FX_TYPE_WMI_PROVIDER = FX_TYPES_BASE+0x4, 50 // can be reused = FX_TYPES_BASE+0x5, 51 FX_TYPE_REG_KEY = FX_TYPES_BASE+0x6, 52 FX_TYPE_STRING = FX_TYPES_BASE+0x7, 53 FX_TYPE_REQUEST = FX_TYPES_BASE+0x8, 54 FX_TYPE_LOOKASIDE = FX_TYPES_BASE+0x9, 55 IFX_TYPE_MEMORY = FX_TYPES_BASE+0xA, 56 FX_TYPE_IRPQUEUE = FX_TYPES_BASE+0xB, 57 FX_TYPE_USEROBJECT = FX_TYPES_BASE+0xC, 58 // can be reused FX_TYPES_BASE+0xD, 59 FX_TYPE_COLLECTION = FX_TYPES_BASE+0xE, 60 61 62 63 64 // can be reused = FX_TYPES_BASE+0x11, 65 FX_TYPE_VERIFIERLOCK = FX_TYPES_BASE+0x12, 66 FX_TYPE_SYSTEMTHREAD = FX_TYPES_BASE+0x13, 67 FX_TYPE_MP_DEVICE = FX_TYPES_BASE+0x14, 68 FX_TYPE_DPC = FX_TYPES_BASE+0x15, 69 FX_TYPE_RESOURCE_IO = FX_TYPES_BASE+0x16, 70 FX_TYPE_RESOURCE_CM = FX_TYPES_BASE+0x17, 71 FX_TYPE_FILEOBJECT = FX_TYPES_BASE+0x18, 72 // can be reused = FX_TYPES_BASE+0x19, 73 // can be reused = FX_TYPES_BASE+0x20, 74 FX_TYPE_RELATED_DEVICE = FX_TYPES_BASE+0x21, 75 FX_TYPE_MEMORY_PREALLOCATED = FX_TYPES_BASE+0x22, 76 FX_TYPE_WAIT_LOCK = FX_TYPES_BASE+0x23, 77 FX_TYPE_SPIN_LOCK = FX_TYPES_BASE+0x24, 78 FX_TYPE_WORKITEM = FX_TYPES_BASE+0x25, 79 FX_TYPE_CLEANUPLIST = FX_TYPES_BASE+0x26, 80 FX_TYPE_INTERRUPT = FX_TYPES_BASE+0x27, 81 FX_TYPE_TIMER = FX_TYPES_BASE+0x28, 82 FX_TYPE_CHILD_LIST = FX_TYPES_BASE+0x29, 83 FX_TYPE_DEVICE_BASE = FX_TYPES_BASE+0x30, 84 FX_TYPE_SYSTEMWORKITEM = FX_TYPES_BASE+0x31, 85 FX_TYPE_REQUEST_MEMORY = FX_TYPES_BASE+0x32, 86 FX_TYPE_DISPOSELIST = FX_TYPES_BASE+0x33, 87 FX_TYPE_WMI_INSTANCE = FX_TYPES_BASE+0x34, 88 FX_TYPE_IO_RES_LIST = FX_TYPES_BASE+0x35, 89 FX_TYPE_CM_RES_LIST = FX_TYPES_BASE+0x36, 90 FX_TYPE_IO_RES_REQ_LIST = FX_TYPES_BASE+0x37, 91 92 FX_TYPE_PACKAGE_IO = FX_TYPES_PACKAGES_BASE+0x0, 93 FX_TYPE_PACKAGE_FDO = FX_TYPES_PACKAGES_BASE+0x1, 94 FX_TYPE_PACKAGE_PDO = FX_TYPES_PACKAGES_BASE+0x2, 95 FX_TYPE_WMI_IRP_HANDLER = FX_TYPES_PACKAGES_BASE+0x3, 96 FX_TYPE_PACKAGE_GENERAL = FX_TYPES_PACKAGES_BASE+0x4, 97 FX_TYPE_DEFAULT_IRP_HANDLER = FX_TYPES_PACKAGES_BASE+0x5, 98 FX_TYPE_WMI_TRACING_IRP_HANDLER = FX_TYPES_PACKAGES_BASE+0x6, 99 100 FX_TYPE_IO_TARGET = FX_TYPES_IO_TARGET_BASE+0x0, 101 FX_TYPE_IO_TARGET_REMOTE = FX_TYPES_IO_TARGET_BASE+0x1, 102 FX_TYPE_IO_TARGET_USB_DEVICE = FX_TYPES_IO_TARGET_BASE+0x2, 103 FX_TYPE_IO_TARGET_USB_PIPE = FX_TYPES_IO_TARGET_BASE+0x3, 104 FX_TYPE_USB_INTERFACE = FX_TYPES_IO_TARGET_BASE+0x4, 105 FX_TYPE_IO_TARGET_SELF = FX_TYPES_IO_TARGET_BASE+0x5, 106 107 FX_TYPE_DMA_ENABLER = FX_TYPES_DMA_BASE+0x0, 108 FX_TYPE_DMA_TRANSACTION = FX_TYPES_DMA_BASE+0x1, 109 FX_TYPE_COMMON_BUFFER = FX_TYPES_DMA_BASE+0x2, 110 111 // Interfaces 112 FX_TYPE_IASSOCIATE = FX_TYPES_INTERFACES_BASE+0x01, 113 // unused 114 FX_TYPE_IHASCALLBACKS = FX_TYPES_INTERFACES_BASE+0x03, 115 // unused = FX_TYPES_INTERFACES_BASE+0x04, 116 117 FX_TYPE_NONE = 0xFFFF, 118 }; 119 120 // begin_wpp config 121 // CUSTOM_TYPE(FX_OBJECT_TYPES, ItemEnum(FX_OBJECT_TYPES)); 122 // end_wpp 123 124 #endif // _FXTYPES_H 125