ReactOS 0.4.17-dev-1164-g974a446
driverscope.c File Reference
#include <ntoskrnl.h>
#include <initguid.h>
#include <debug.h>
Include dependency graph for driverscope.c:

Go to the source code of this file.

Macros

#define KSEP_DEBUG_EVENTS   0x0001
 
#define KSEP_DEBUG_MESSAGES   0x0002
 
#define KSEP_DEBUG_GENERAL   0x0100
 
#define KSEP_DEBUG_PNP   0x0200
 
#define KSEP_DEBUG_POWER   0x0400
 
#define KSEP_DEBUG_IRP   0x0800
 
#define KSEP_DEBUG_POOL   0x1000
 
#define KSEP_DEBUG_UNLOAD   0x2000
 

Functions

static NTSTATUS NTAPI ShimDriverInit (_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
 
static VOID NTAPI ShimDriverStartIo (_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
 
static VOID NTAPI ShimDriverUnload (_In_ PDRIVER_OBJECT DriverObject)
 
static NTSTATUS NTAPI ShimDriverAddDevice (_In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT PhysicalDeviceObject)
 
static NTSTATUS NTAPI ShimIoCreateDevice (_In_ PDRIVER_OBJECT DriverObject, _In_ ULONG DeviceExtensionSize, _In_ PUNICODE_STRING DeviceName, _In_ DEVICE_TYPE DeviceType, _In_ ULONG DeviceCharacteristics, _In_ BOOLEAN Exclusive, _Out_ PDEVICE_OBJECT *DeviceObject)
 
static NTSTATUS NTAPI ShimPoRequestPowerIrp (_In_ PDEVICE_OBJECT DeviceObject, _In_ UCHAR MinorFunction, _In_ POWER_STATE PowerState, _In_ PREQUEST_POWER_COMPLETE CompletionFunction, _In_ PVOID Context, _Out_ PIRP *Irp)
 
static PVOID NTAPI ShimExAllocatePoolWithTag (_In_ POOL_TYPE PoolType, _In_ SIZE_T NumberOfBytes, _In_ ULONG Tag)
 
static VOID NTAPI ShimExFreePoolWithTag (_In_ PVOID p, _In_ ULONG Tag)
 
static PVOID NTAPI ShimExAllocatePool (_In_ POOL_TYPE PoolType, _In_ SIZE_T NumberOfBytes)
 
static VOID NTAPI ShimExFreePool (_In_ PVOID p)
 
static NTSTATUS NTAPI ShimIrpComplete (_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_ PVOID Context)
 
static NTSTATUS NTAPI ShimIrp (_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
 
static NTSTATUS NTAPI ShimIrpPnpComplete (_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_ PVOID Context)
 
static NTSTATUS NTAPI ShimIrpPnp (_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
 
 DEFINE_GUID (KmDsShimGuid, 0xbc04ab45, 0xea7e, 0x4a11, 0xa7, 0xbb, 0x97, 0x76, 0x15, 0xf4, 0xca, 0xae)
 
NTSTATUS NTAPI KseDriverScopeInitialize (VOID)
 

Variables

KSE_SHIM KmDsShim = { sizeof(KSE_SHIM), &KmDsShimGuid, L"DriverScope", NULL, NULL, NULL, KmDsShimCollections }
 
static ULONG KsepDebugFlags = ~0
 
static KSE_HOOK KmDsShimHooksNT []
 
static KSE_HOOK KmDsShimHooksCB []
 
static KSE_HOOK_COLLECTION KmDsShimCollections []
 

Macro Definition Documentation

◆ KSEP_DEBUG_EVENTS

#define KSEP_DEBUG_EVENTS   0x0001

Definition at line 19 of file driverscope.c.

◆ KSEP_DEBUG_GENERAL

#define KSEP_DEBUG_GENERAL   0x0100

Definition at line 21 of file driverscope.c.

◆ KSEP_DEBUG_IRP

#define KSEP_DEBUG_IRP   0x0800

Definition at line 24 of file driverscope.c.

◆ KSEP_DEBUG_MESSAGES

#define KSEP_DEBUG_MESSAGES   0x0002

Definition at line 20 of file driverscope.c.

◆ KSEP_DEBUG_PNP

#define KSEP_DEBUG_PNP   0x0200

Definition at line 22 of file driverscope.c.

◆ KSEP_DEBUG_POOL

#define KSEP_DEBUG_POOL   0x1000

Definition at line 25 of file driverscope.c.

◆ KSEP_DEBUG_POWER

#define KSEP_DEBUG_POWER   0x0400

Definition at line 23 of file driverscope.c.

◆ KSEP_DEBUG_UNLOAD

#define KSEP_DEBUG_UNLOAD   0x2000

Definition at line 26 of file driverscope.c.

Function Documentation

◆ DEFINE_GUID()

DEFINE_GUID ( KmDsShimGuid  ,
0xbc04ab45  ,
0xea7e  ,
0x4a11  ,
0xa7  ,
0xbb  ,
0x97  ,
0x76  ,
0x15  ,
0xf4  ,
0xca  ,
0xae   
)

◆ KseDriverScopeInitialize()

NTSTATUS NTAPI KseDriverScopeInitialize ( VOID  )

Definition at line 353 of file driverscope.c.

354{
356
358 if (NT_SUCCESS(Status))
359 DPRINT("KSE: driver scope shim registered.\n");
360
361 return Status;
362}
LONG NTSTATUS
Definition: precomp.h:26
#define NULL
Definition: types.h:112
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
KSE_SHIM KmDsShim
Definition: driverscope.c:348
Status
Definition: gdiplustypes.h:24
NTSTATUS NTAPI KseRegisterShim(_In_ PKSE_SHIM Shim, _In_ PVOID Ignored, _In_ ULONG Flags)
Definition: kse.c:464
#define DPRINT
Definition: sndvol32.h:73

Referenced by KseInitialize().

◆ ShimDriverAddDevice()

static NTSTATUS NTAPI ShimDriverAddDevice ( _In_ PDRIVER_OBJECT  DriverObject,
_In_ PDEVICE_OBJECT  PhysicalDeviceObject 
)
static

Definition at line 81 of file driverscope.c.

84{
85 PDRIVER_ADD_DEVICE OriginalFunction;
87
89 Status = OriginalFunction(DriverObject, PhysicalDeviceObject);
90
92 {
93 DPRINT1("[DriverScopeGeneral] DriverObject=%p [%wZ] Pdo=%p Status=0x%08x\n",
95 }
96 return Status;
97}
#define DPRINT1
Definition: precomp.h:8
PDEVICE_OBJECT PhysicalDeviceObject
Definition: btrfs_drv.h:1157
#define KSEP_DEBUG_GENERAL
Definition: driverscope.c:21
static ULONG KsepDebugFlags
Definition: driverscope.c:27
PKSE_GET_IO_CALLBACKS KseGetIoCallbacksRoutine
Definition: kse.h:87
PKSE_CALLBACK_ROUTINES KseCallbackRoutines
Definition: kse.h:96
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
Definition: wdfdriver.h:213
DRIVER_ADD_DEVICE * PDRIVER_ADD_DEVICE
Definition: iotypes.h:2231

◆ ShimDriverInit()

static NTSTATUS NTAPI ShimDriverInit ( _In_ PDRIVER_OBJECT  DriverObject,
_In_ PUNICODE_STRING  RegistryPath 
)
static

Definition at line 30 of file driverscope.c.

33{
34 PDRIVER_INITIALIZE OriginalFunction;
36
38 Status = OriginalFunction(DriverObject, RegistryPath);
39
41 {
42 DPRINT1("[DriverScopeGeneral] DriverObject=%p [%wZ] RegistryPath=%wZ Status=0x%08x\n",
44 }
45 return Status;
46}
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
Definition: wdfdriver.h:215
DRIVER_INITIALIZE * PDRIVER_INITIALIZE
Definition: iotypes.h:2250

◆ ShimDriverStartIo()

static VOID NTAPI ShimDriverStartIo ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ PIRP  Irp 
)
static

Definition at line 49 of file driverscope.c.

52{
54 PDRIVER_STARTIO OriginalFunction;
55
56 OriginalFunction = KmDsShim.KseCallbackRoutines->KseGetIoCallbacksRoutine(DriverObject)->DriverStartIo;
58 {
59 DPRINT1("[DriverScopeGeneral] DriverObject=%p [%wZ] Fdo=%p Irp=%p\n",
61 }
62 OriginalFunction(DeviceObject, Irp);
63}
_In_ PIRP Irp
Definition: kse.h:79
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2061
DRIVER_STARTIO * PDRIVER_STARTIO
Definition: iotypes.h:2260

◆ ShimDriverUnload()

static VOID NTAPI ShimDriverUnload ( _In_ PDRIVER_OBJECT  DriverObject)
static

Definition at line 66 of file driverscope.c.

68{
69 PDRIVER_UNLOAD OriginalFunction;
70
71 OriginalFunction = KmDsShim.KseCallbackRoutines->KseGetIoCallbacksRoutine(DriverObject)->DriverUnload;
73 {
74 DPRINT1("[DriverScopeGeneral] DriverObject=%p [%wZ]\n",
75 DriverObject, &DriverObject->DriverName);
76 }
77 OriginalFunction(DriverObject);
78}
DRIVER_UNLOAD * PDRIVER_UNLOAD
Definition: iotypes.h:2268

◆ ShimExAllocatePool()

static PVOID NTAPI ShimExAllocatePool ( _In_ POOL_TYPE  PoolType,
_In_ SIZE_T  NumberOfBytes 
)
static

Definition at line 184 of file driverscope.c.

187{
188 PVOID p;
189 PVOID (NTAPI *OriginalFunction)(POOL_TYPE, SIZE_T);
190
192
193 p = OriginalFunction(PoolType, NumberOfBytes);
195 {
196 DPRINT1("[DriverScopePool] ExAllocatePool: Address=%p Caller=%p Type=%d Size=%u Tag=0x%08x\n",
198 }
199
200 return p;
201}
#define KSEP_DEBUG_POOL
Definition: driverscope.c:25
GLfloat GLfloat p
Definition: glext.h:8902
#define _ReturnAddress()
Definition: intrin_arm.h:35
PKSE_HOOK HookArray
Definition: kse.h:44
PVOID OriginalFunction
Definition: kse.h:30
PKSE_HOOK_COLLECTION HookCollectionsArray
Definition: kse.h:99
INT POOL_TYPE
Definition: typedefs.h:78
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
ULONG_PTR SIZE_T
Definition: typedefs.h:80
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3821
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:1036

◆ ShimExAllocatePoolWithTag()

static PVOID NTAPI ShimExAllocatePoolWithTag ( _In_ POOL_TYPE  PoolType,
_In_ SIZE_T  NumberOfBytes,
_In_ ULONG  Tag 
)
static

Definition at line 146 of file driverscope.c.

150{
151 PVOID p;
152 PVOID (NTAPI *OriginalFunction)(POOL_TYPE, SIZE_T, ULONG);
153
155
156 p = OriginalFunction(PoolType, NumberOfBytes, Tag);
158 {
159 DPRINT1("[DriverScopePool] ExAllocatePool: Address=%p Caller=%p Type=%d Size=%u Tag=0x%08x\n",
161 }
162 return p;
163}
_Must_inspect_result_ _In_ UCXENDPOINT _In_ PVOID Tag
Definition: ucxendpoint.h:325

◆ ShimExFreePool()

static VOID NTAPI ShimExFreePool ( _In_ PVOID  p)
static

Definition at line 204 of file driverscope.c.

206{
207 VOID (NTAPI *OriginalFunction)(PVOID);
208
210
212 {
213 DPRINT1("[DriverScopePool] ExFreePool: Address=%p Caller=%p Tag=0x%08x\n",
214 p, _ReturnAddress(), 0);
215 }
216
217 OriginalFunction(p);
218}
#define VOID
Definition: acefi.h:82

◆ ShimExFreePoolWithTag()

static VOID NTAPI ShimExFreePoolWithTag ( _In_ PVOID  p,
_In_ ULONG  Tag 
)
static

Definition at line 166 of file driverscope.c.

169{
170 VOID (NTAPI *OriginalFunction)(PVOID, ULONG);
171
173
175 {
176 DPRINT1("[DriverScopePool] ExFreePool: Address=%p Caller=%p Tag=0x%08x\n",
177 p, _ReturnAddress(), Tag);
178 }
179
180 OriginalFunction(p, Tag);
181}

◆ ShimIoCreateDevice()

static NTSTATUS NTAPI ShimIoCreateDevice ( _In_ PDRIVER_OBJECT  DriverObject,
_In_ ULONG  DeviceExtensionSize,
_In_ PUNICODE_STRING  DeviceName,
_In_ DEVICE_TYPE  DeviceType,
_In_ ULONG  DeviceCharacteristics,
_In_ BOOLEAN  Exclusive,
_Out_ PDEVICE_OBJECT *  DeviceObject 
)
static

Definition at line 100 of file driverscope.c.

108{
111
113 Status = OriginalFunction(DriverObject, DeviceExtensionSize, DeviceName, DeviceType, DeviceCharacteristics, Exclusive, DeviceObject);
115 {
116 DPRINT1("[DriverScopeGeneral] DriverObject=%p [%wZ] Fdo=%p DeviceType=%d DeviceCharacteristics=0x%x Exclusive=%d Status=0x%08x\n",
118 }
119 return Status;
120}
#define NTSTATUS
Definition: precomp.h:19
#define DEVICE_TYPE
Definition: guid.c:10
UNICODE_STRING * PUNICODE_STRING
Definition: env_spec_w32.h:373
__in PWDFDEVICE_INIT __in BOOLEAN Exclusive
DeviceType
Definition: mmdrv.h:42
#define BOOLEAN
Definition: pedump.c:73
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
Definition: wdfdevice.h:3281
_In_ WDFDEVICE _In_ ULONG DeviceCharacteristics
Definition: wdfdevice.h:2781
struct _DRIVER_OBJECT * PDRIVER_OBJECT

◆ ShimIrp()

static NTSTATUS NTAPI ShimIrp ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ PIRP  Irp 
)
static

Definition at line 240 of file driverscope.c.

243{
245 PDRIVER_DISPATCH OriginalFunction;
248
251 Status = OriginalFunction(DeviceObject, Irp);
252
254 {
255 if (Status == STATUS_PENDING)
256 {
257 DPRINT1("[DriverScopeIrps] DriverObject=%p [%wZ] Fdo=%p Irp=%p\n",
258 DriverObject, &DriverObject->DriverName, DeviceObject, Irp);
259 }
260 else
261 {
262 DPRINT1("[DriverScopeIrps] DriverObject=%p [%wZ] Fdo=%p Irp=%p MajorCode=0x%02x Status=0x%08x\n",
264 }
265 }
266 return Status;
267}
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
static NTSTATUS NTAPI ShimIrpComplete(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_ PVOID Context)
Definition: driverscope.c:221
#define KSEP_DEBUG_IRP
Definition: driverscope.c:24
PKSE_SET_COMPLETION_HOOK KseSetCompletionHookRoutine
Definition: kse.h:88
#define STATUS_PENDING
Definition: telnetd.h:14
_In_ UCHAR MajorFunction
Definition: wdfdevice.h:1703
DRIVER_DISPATCH * PDRIVER_DISPATCH
Definition: iotypes.h:2277

◆ ShimIrpComplete()

static NTSTATUS NTAPI ShimIrpComplete ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ PIRP  Irp,
_In_ PVOID  Context 
)
static

Definition at line 221 of file driverscope.c.

225{
228 NTSTATUS Status = Irp->IoStatus.Status;
229
231 {
232 DPRINT1("[DriverScopeIrps] DriverObject=%p [%wZ] Fdo=%p Irp=%p MajorCode=0x%02x Status=0x%08x\n",
234 }
235
236 return STATUS_SUCCESS;
237}
#define STATUS_SUCCESS
Definition: shellext.h:65

Referenced by ShimIrp().

◆ ShimIrpPnp()

static NTSTATUS NTAPI ShimIrpPnp ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ PIRP  Irp 
)
static

Definition at line 288 of file driverscope.c.

291{
293 PDRIVER_DISPATCH OriginalFunction;
297
300 Status = OriginalFunction(DeviceObject, Irp);
301
303 {
304 if (Status == STATUS_PENDING)
305 {
306 DPRINT1("[DriverScopePnp] DriverObject=%p [%wZ] Fdo=%p Irp=%p\n",
307 DriverObject, &DriverObject->DriverName, DeviceObject, Irp);
308 }
309 else
310 {
311 DPRINT1("[DriverScopePnp] DriverObject=%p [%wZ] Fdo=%p Irp=%p MinorCode=0x%02x Status=0x%08x\n",
313 }
314 }
315
316 return Status;
317}
#define KSEP_DEBUG_PNP
Definition: driverscope.c:22
static NTSTATUS NTAPI ShimIrpPnpComplete(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp, _In_ PVOID Context)
Definition: driverscope.c:270
_In_ UCHAR _In_ UCHAR MinorFunction
Definition: wdfdevice.h:1705

◆ ShimIrpPnpComplete()

static NTSTATUS NTAPI ShimIrpPnpComplete ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ PIRP  Irp,
_In_ PVOID  Context 
)
static

Definition at line 270 of file driverscope.c.

274{
276 NTSTATUS Status = Irp->IoStatus.Status;
277
279 {
280 DPRINT1("[DriverScopePnp] DriverObject=%p [%wZ] Fdo=%p Irp=%p Status=0x%08x\n",
282 }
283
284 return STATUS_SUCCESS;
285}

Referenced by ShimIrpPnp().

◆ ShimPoRequestPowerIrp()

static NTSTATUS NTAPI ShimPoRequestPowerIrp ( _In_ PDEVICE_OBJECT  DeviceObject,
_In_ UCHAR  MinorFunction,
_In_ POWER_STATE  PowerState,
_In_ PREQUEST_POWER_COMPLETE  CompletionFunction,
_In_ PVOID  Context,
_Out_ PIRP *  Irp 
)
static

Definition at line 123 of file driverscope.c.

130{
134
138 {
139 DPRINT1("[DriverScopePower] DriverObject=%p Fdo=%p Irp=%p MinorCode=0x%02x PowerState=%u Status=0x%08x\n",
141 }
142 return Status;
143}
#define KSEP_DEBUG_POWER
Definition: driverscope.c:23
struct _DEVICE_OBJECT * PDEVICE_OBJECT
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
Definition: kse.h:81
union _POWER_STATE POWER_STATE
unsigned char UCHAR
Definition: typedefs.h:53
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ WDF_DEVICE_POWER_STATE PowerState
Definition: wdfdevice.h:3040
_In_ UCHAR _In_ POWER_STATE _In_opt_ PREQUEST_POWER_COMPLETE CompletionFunction
Definition: pofuncs.h:44
REQUEST_POWER_COMPLETE * PREQUEST_POWER_COMPLETE
Definition: potypes.h:472

Variable Documentation

◆ KmDsShim

◆ KmDsShimCollections

KSE_HOOK_COLLECTION KmDsShimCollections[]
static
Initial value:
= {
}
static KSE_HOOK KmDsShimHooksNT[]
Definition: driverscope.c:319
static KSE_HOOK KmDsShimHooksCB[]
Definition: driverscope.c:328
#define KseCollectionInvalid
Definition: kse.h:38
#define KseCollectionCallback
Definition: kse.h:37
#define KseCollectionNtExport
Definition: kse.h:34

Definition at line 340 of file driverscope.c.

◆ KmDsShimHooksCB

KSE_HOOK KmDsShimHooksCB[]
static
Initial value:
= {
}
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
static VOID NTAPI ShimDriverUnload(_In_ PDRIVER_OBJECT DriverObject)
Definition: driverscope.c:66
static VOID NTAPI ShimDriverStartIo(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
Definition: driverscope.c:49
static NTSTATUS NTAPI ShimDriverAddDevice(_In_ PDRIVER_OBJECT DriverObject, _In_ PDEVICE_OBJECT PhysicalDeviceObject)
Definition: driverscope.c:81
static NTSTATUS NTAPI ShimDriverInit(_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath)
Definition: driverscope.c:30
static NTSTATUS NTAPI ShimIrp(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
Definition: driverscope.c:240
static NTSTATUS NTAPI ShimIrpPnp(_In_ PDEVICE_OBJECT DeviceObject, _In_ PIRP Irp)
Definition: driverscope.c:288
#define KseHookCallbackDriverInit
Definition: kse.h:15
#define KseHookCallbackAddDevice
Definition: kse.h:18
#define KseHookCallbackDriverUnload
Definition: kse.h:17
#define KseHookCallbackDriverStartIo
Definition: kse.h:16
#define KseHookCallbackMajorFunction
Definition: kse.h:19
#define KseHookInvalid
Definition: kse.h:13
#define KseHookIRPCallback
Definition: kse.h:12
#define PCHAR
Definition: match.c:90
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IRP_MJ_POWER

Definition at line 328 of file driverscope.c.

◆ KmDsShimHooksNT

KSE_HOOK KmDsShimHooksNT[]
static
Initial value:
= {
{ KseHookFunction, { "IoCreateDevice" }, (PVOID)(ULONG_PTR)ShimIoCreateDevice },
{ KseHookFunction, { "PoRequestPowerIrp" }, (PVOID)(ULONG_PTR)ShimPoRequestPowerIrp },
{ KseHookFunction, { "ExAllocatePoolWithTag" }, (PVOID)(ULONG_PTR)ShimExAllocatePoolWithTag },
{ KseHookFunction, { "ExFreePoolWithTag" }, (PVOID)(ULONG_PTR)ShimExFreePoolWithTag },
{ KseHookFunction, { "ExAllocatePool" }, (PVOID)(ULONG_PTR)ShimExAllocatePool },
{ KseHookFunction, { "ExFreePool" }, (PVOID)(ULONG_PTR)ShimExFreePool },
}
static VOID NTAPI ShimExFreePool(_In_ PVOID p)
Definition: driverscope.c:204
static PVOID NTAPI ShimExAllocatePoolWithTag(_In_ POOL_TYPE PoolType, _In_ SIZE_T NumberOfBytes, _In_ ULONG Tag)
Definition: driverscope.c:146
static NTSTATUS NTAPI ShimPoRequestPowerIrp(_In_ PDEVICE_OBJECT DeviceObject, _In_ UCHAR MinorFunction, _In_ POWER_STATE PowerState, _In_ PREQUEST_POWER_COMPLETE CompletionFunction, _In_ PVOID Context, _Out_ PIRP *Irp)
Definition: driverscope.c:123
static VOID NTAPI ShimExFreePoolWithTag(_In_ PVOID p, _In_ ULONG Tag)
Definition: driverscope.c:166
static NTSTATUS NTAPI ShimIoCreateDevice(_In_ PDRIVER_OBJECT DriverObject, _In_ ULONG DeviceExtensionSize, _In_ PUNICODE_STRING DeviceName, _In_ DEVICE_TYPE DeviceType, _In_ ULONG DeviceCharacteristics, _In_ BOOLEAN Exclusive, _Out_ PDEVICE_OBJECT *DeviceObject)
Definition: driverscope.c:100
static PVOID NTAPI ShimExAllocatePool(_In_ POOL_TYPE PoolType, _In_ SIZE_T NumberOfBytes)
Definition: driverscope.c:184
#define KseHookFunction
Definition: kse.h:11

Definition at line 319 of file driverscope.c.

◆ KsepDebugFlags