Regola PowerIrpDDIs (wdm)

La regola PowerIrpDDIs specifica che quando un driver elabora un sistema o un dispositivo IRP_MJ_POWER con IRP_MN_SET_POWER, non deve chiamare DDI che può essere chiamato solo in PASSIVE_LEVEL.

Modello di driver: WDM

Come eseguire il test

In fase di compilazione

Eseguire Static Driver Verifier e specificare la regola PowerIrpDDIs .

Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
  1. Prepara il codice (usa dichiarazioni di tipo ruolo).
  2. Esegui Driver Verifier statico.
  3. Visualizza e analizza i risultati.

Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers.For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Si applica a

ExIsProcessorFeaturePresent
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExUuidCreate
HalExamineMBR
HalGetInterruptVector
IoBuildDeviceIoControlRequest
IoBuildSynchronousFsdRequest
IoCheckShareAccess
IoConnectInterrupt
IoCreateController
IoCreateFile
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeleteController
IoDeleteSymbolicLink
IoDetachDevice
IoDisconnectInterrupt
IoGetConfigurationInformation
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceNumaNode
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDevicePropertyData
IoGetDmaAdapter
IoGetFileObjectGenericMapping
IoInitializeTimer
IoIsWdmVersionAvailable
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRegisterBootDriverReinitialization
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterLastChanceShutdownNotification
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoRemoveShareAccess
IoReportDetectedDevice
IoReportTargetDeviceChange
IoSetDeviceInterfaceState
IoSetDevicePropertyData
IoUnregisterPlugPlayNotification
IoUnregisterPlugPlayNotificationEx
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIRegistrationControl
KeDelayExecutionThread
KeInitializeSemaphore
KeQueryPriorityThread
KeQueryRuntimeThread
KeRevertToUserAffinityThreadEx
KeSetSystemAffinityThread
KeSetSystemGroupAffinityThread
MmGetSystemRoutineAddress
PsGetVersion
PsRemoveLoadImageNotifyRoutine
PsSetCreateProcessNotifyRoutine
PsSetCreateProcessNotifyRoutineEx
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
SeAccessCheck
SeAssignSecurity
SeDeassignSecurity
SeSinglePrivilegeCheck
SeValidSecurityDescriptor
ZwAllocateLocallyUniqueId
ZwAllocateVirtualMemory
ZwClose
ZwCommitComplete
ZwCommitEnlistment
ZwCommitTransaction
ZwCreateDirectoryObject
ZwCreateEnlistment
ZwCreateEvent
ZwCreateFile
ZwCreateKey
ZwCreateKeyTransacted
ZwCreateResourceManager
ZwCreateTransaction
ZwCreateTransactionManager
ZwDeleteFile
ZwDeleteKey
ZwDeleteValueKey
ZwDeviceIoControlFile
ZwDuplicateToken
ZwEnumerateKey
ZwEnumerateTransactionObject
ZwEnumerateValueKey
ZwFlushBuffersFile
ZwFreeVirtualMemory
ZwFsControlFile
ZwGetNotificationResourceManager
ZwLoadDriver
ZwLockFile
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwNotifyChangeKey
ZwOpenDirectoryObject
ZwOpenEnlistment
ZwOpenEvent
ZwOpenFile
ZwOpenKey
ZwOpenKeyEx
ZwOpenKeyTransacted
ZwOpenKeyTransactedEx
ZwOpenProcess
ZwOpenProcessTokenEx
ZwOpenResourceManager
ZwOpenSection
ZwOpenSymbolicLinkObject
ZwOpenThreadTokenEx
ZwOpenTransaction
ZwOpenTransactionManager
ZwPowerInformation
ZwPrepareComplete
ZwPrepareEnlistment
ZwPrePrepareComplete
ZwPrePrepareEnlistment
ZwQueryDirectoryFile
ZwQueryEaFile
ZwQueryFullAttributesFile
ZwQueryInformationEnlistment
ZwQueryInformationFile
ZwQueryInformationResourceManager
ZwQueryInformationToken
ZwQueryInformationTransaction
ZwQueryInformationTransactionManager
ZwQueryKey
ZwQueryObject
ZwQueryQuotaInformationFile
ZwQuerySecurityObject
ZwQuerySymbolicLinkObject
ZwQueryValueKey
ZwQueryVolumeInformationFile
ZwReadFile
ZwReadOnlyEnlistment
ZwRecoverEnlistment
ZwRecoverTransactionManager
ZwRollbackComplete
ZwRollbackEnlistment
ZwRollbackTransaction
ZwRollforwardTransactionManager
ZwSetEaFile
ZwSetInformationEnlistment
ZwSetInformationFile
ZwSetInformationThread
ZwSetInformationToken
ZwSetInformationTransaction
ZwSetQuotaInformationFile
ZwSetSecurityObject
ZwSetValueKey
ZwSetVolumeInformationFile
ZwSinglePhaseReject
ZwTerminateProcess
ZwUnloadDriver
ZwUnlockFile
ZwUnmapViewOfSection
ZwWriteFile