IoAllocateComplete |
IoAllocateComplete 规则指定如果 IRP 是使用 IoAllocateIrp 创建的,则驱动程序不应调用 IoCompleteRequest。 |
IoAllocateFree |
IoAllocateFree 规则指定驱动程序应仅在以前使用 IoAllocateIrp 分配的 IRP 上使用 IoFreeIrp。 |
IoAllocateForward |
IoAllocateForward 规则指定,如果 IRP 是通过调用 IoAllocateIrp 生成的,则驱动程序必须在调用 IoCallDriver 或 PoCallDriver 之前设置完成例程。 |
IoAllocateIrpSignalEventInCompletion |
IoAllocateIrpSignalEventInCompletion 规则指定,当设置了 Irp-PendingReturned> 标志并且完成例程正在处理本地创建的异步 IRP 时,驱动程序应在完成例程中调用 KeSetEvent。 |
IoAllocateIrpSignalEventInCompletion2 |
IoAllocateIrpSignalEventInCompletion2 规则指定,当设置了 Irp-PendingReturned> 标志并且完成例程正在处理本地创建的异步 IRP 时,需要在完成例程中调用 KeSetEvent。 |
IoAllocateIrpSignalEventInCompletion3 |
IoAllocateIrpSignalEventInCompletion3 规则指定,当设置了 Irp-PendingReturned> 标志并且完成例程正在处理本地创建的异步 IRP 时,需要在完成例程中调用 KeSetEvent。 |
IoAllocateIrpSignalEventInCompletionTimeout |
如果 IoAllocateIrpSignalEventInCompletionTimeout 规则检测到此驱动程序将无限期等待,直到较低的驱动程序返回,则它会报告缺陷,因为需要在完成例程中向 IRP 的事件发出信号。 |
IoBuildDeviceControlNoFree |
IoBuildDeviceControlNoFree 规则指定调用 IoBuildDeviceIoControlRequest 的驱动程序不得调用 IoFreeIrp。 |
IoBuildDeviceControlWait |
IoBuildDeviceControlWait 规则指定在 IoCallDriver 或 PoCallDriver 返回STATUS_PENDING时应调用 KeWaitForSingleObject 例程。 |
IoBuildDeviceControlWaitTimeout |
如果 IoBuildDeviceControlWaitTimeout 规则检测到此驱动程序将无限期等待,直到较低的驱动程序返回,则它会报告缺陷,因为需要在完成例程中向 IRP 的事件发出信号。 |
IoBuildDeviceIoControlSetEvent |
IoBuildDeviceIoControlSetEvent 规则指定,如果驱动程序提供指向调用方分配和初始化的事件对象的指针,则调用 IoBuildDeviceIoControlRequest 的驱动程序不得调用 KeSetEvent。 驱动程序不需要为此 IRP 调用 KeSetEvent 。 |
IoBuildFsdComplete |
IoBuildFsdComplete 规则指定如果 IRP 是使用 IoBuildAsynchronousFsdRequest 创建的,则驱动程序不应调用 IoCompleteRequest。 |
IoBuildFsdForward |
IoBuildFsdForward 规则指定,如果 IRP 是通过对 IoBuildAsynchronousFsdRequest 的调用生成的,则必须在驱动程序调用 IoCallDriver 或 PoCallDriver 之前设置完成例程。 |
IoBuildFsdFree |
IoBuildFsdFree 规则指定驱动程序应仅在以前使用 IoBuildAsynchronousFsdRequest 分配的 IRP 上使用 IoFreeIrp。 |
IoBuildFsdIrpSignalEventInCompletion |
IoBuildFsdIrpSignalEventInCompletion 规则指定在设置 Irp-PendingReturned> 标志且完成例程处理本地创建的异步 IRP 时,驱动程序应在完成例程中调用 KeSetEvent。 |
IoBuildFsdIrpSignalEventInCompletion2 |
IoBuildFsdIrpSignalEventInCompletion2 规则指定,当设置了 Irp-PendingReturned> 标志并且完成例程正在处理本地创建的异步 IRP 时,需要在完成例程中调用 KeSetEvent。 |
IoBuildFsdIrpSignalEventInCompletion3 |
IoBuildFsdIrpSignalEventInCompletion3 规则指定,当设置了 Irp-PendingReturned> 标志并且完成例程正在处理本地创建的异步 IRP 时,需要在完成例程中调用 KeSetEvent。 |
IoBuildFsdIrpSignalEventInCompletionTimeout |
IoBuildFsdIrpSignalEventInCompletionTimeout 规则在驱动程序无限期地等待直到较低的驱动程序返回时报告缺陷,因为需要在完成例程中向 IRP 的事件发出信号。 |
IoBuildSynchronousFsdRequestNoFree |
IoBuildSynchronousFsdRequestNoFree 规则指定调用 IoBuildSynchronousFsdRequest 的驱动程序不得调用 IoFreeIrp。 |
IoBuildSynchronousFsdRequestWait |
IoBuildSynchronousFsdRequestWait 规则指定在 IoCallDriver 或 PoCallDriver 返回STATUS_PENDING的情况下应调用 KeWaitForSingleObject。 |
IoBuildSynchronousFsdRequestWaitTimeout |
如果 IoBuildSynchronousFsdRequestWaitTimeout 规则检测到此驱动程序将无限期地等待,直到较低的驱动程序返回,则它会报告缺陷,因为需要在完成例程中向 IRP 的事件发出信号。 |
RequestedPowerIrp |
RequestedPowerIrp 规则指定驱动程序调用 PoRequestPowerIrp,并将*Irp 指针变量设置为 NULL。 |