HwStorPortProhibitedDDIs 规则 (storport)

此规则包含不应在物理 Storport 微型端口驱动程序中调用的 WDM DDI(互锁函数除外)的列表。

驱动程序模型: Storport

如何测试

在编译时

运行 静态驱动程序验证程序 并指定 HwStorPortProhibitedDDIs 规则。

使用以下步骤来运行代码分析:
  1. 准备你的代码 (使用) 的角色类型声明。
  2. 运行静态驱动程序验证程序。
  3. 查看并分析结果。

有关详细信息,请参阅 使用静态驱动程序验证器查找驱动程序中的缺陷

适用于

IoReadPartitionTable
IoReadPartitionTableEx
IoSetPartitionInformation
IoSetPartitionInformationEx
IoWritePartitionTable
IoWritePartitionTableEx
CmRegisterCallback
CmRegisterCallbackEx
CmUnRegisterCallback
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExAcquireRundownProtection
ExAcquireRundownProtectionEx
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeletePagedLookasideList
ExDeleteResourceLite
ExEnterCriticalRegionAndAcquireResourceExclusive
ExGetExclusiveWaiterCount
ExGetSharedWaiterCount
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExIsProcessorFeaturePresent
ExIsResourceAcquired
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredLite
ExIsResourceAcquiredShared
ExIsResourceAcquiredSharedLite
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResourceAndLeaveCriticalRegion
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExReleaseRundownProtection
ExReleaseRundownProtectionEx
ExSetResourceOwnerPointer
ExSetResourceOwnerPointerEx
ExSetTimerResolution
ExTryToAcquireFastMutex
ExUnregisterCallback
ExUuidCreate
ExWaitForRundownProtectionRelease
HalExamineMBR
HalGetInterruptVector
IoAcquireCancelSpinLock
IoAllocateController
IoAllocateIrp
IoAssignArcName
IoAttachDevice
IoAttachDeviceToDeviceStack
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelIrp
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoConnectInterruptEx
IoCreateController
IoCreateDevice
IoCreateDeviceSecure
IoCreateFile
IoCreateNotificationEvent
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeassignArcName
IoDeleteController
IoDeleteDevice
IoDeleteSymb一Link
IoDetachDevice
IoDisconnectInterrupt
IoFreeController
IoFreeIrp
IoGetAttachedDeviceReference
IoGetConfigurationInformation
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceNumaNode
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDevicePropertyData
IoGetDmaAdapter
IoGetFileObjectGenericMapping
IoGetInitialStack
IoInitializeIrp
IoInitializeTimer
IoInvalidateDeviceRelations
IoIsWdmVersionAvailable
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRaiseHardError
IoRaiseInformationalHardError
IoRegisterBootDriverReinitialization
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterLastChanceShutdownNotification
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoRemoveShareAccess
IoReportDetectedDevice
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoReuseIrp
IoSetCompletionRoutineEx
IoSetDeviceInterfaceState
IoSetDevicePropertyData
IoSetShareAccess
IoSetStartIoAttributes
IoStartNextPacket
IoUnregisterPlugPlayNotification
IoUnregisterPlugPlayNotificationEx
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIRegistrationControl
KeAcquireGuardedMutex
KeAcquireGuardedMutexUnsafe
KeAcquireInStackQueuedSpinLock
KeAcquireInStackQueuedSpinLockAtDpcLevel
KeAcquireInStackQueuedSpinLockForDpc
KeAcquireInterruptSpinLock
KeAcquireSpinLock
KeAcquireSpinLockAtDpcLevel
KeAcquireSpinLockForDpc
KeAcquireSpinLockRaiseToDpc
KeAreAllApcsDisabled
KeAreApcsDisabled
KeCancelTimer
KeClearEvent
KeDelayExecutionThread
KeDeregisterNmiCallback
KeEnterCriticalRegion
KeEnterGuardedRegion
KeFlushQueuedDpcs
KeGetCurrentIrql
KeInitializeDeviceQueue
KeInitializeEvent
KeInitializeGuardedMutex
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeTimer
KeInitializeTimerEx
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertQueueDpc
KeLeaveCriticalRegion
KeLeaveGuardedRegion
KeLowerIrql
KePulseEvent
KeQueryActiveProcessors
KeQueryPriorityThread
KeQueryRuntimeThread
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeReadStateEvent
KeReadStateMutex
KeReadStateSemaphore
KeReadStateTimer
KeRegisterNmiCallback
KeReleaseGuardedMutex
KeReleaseGuardedMutexUnsafe
KeReleaseInStackQueuedSpinLock
KeReleaseInStackQueuedSpinLockForDpc
KeReleaseInStackQueuedSpinLockFromDpcLevel
KeReleaseInterruptSpinLock
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockForDpc
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveQueueDpc
KeResetEvent
KeRevertToUserAffinityThreadEx
KeSaveFloatingPointState
KeSetEvent
KeSetSystemAffinityThread
KeSetSystemGroupAffinityThread
KeSetTimer
KeSetTimerEx
KeTestSpinLock
KeTryToAcquireGuardedMutex
KeTryToAcquireSpinLockAtDpcLevel
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmFreeContiguousMemory
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmGetSystemRoutineAddress
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmMapLockedPagesWithReservedMapping
MmPageEntireDriver
MmProbeAndLockPages
MmResetDriverPaging
MmSecureVirtualMemory
MmUnlockPagableImageSection
MmUnlockPages
MmUnmapLockedPages
MmUnsecureVirtualMemory
ObDereferenceObject
ObDereferenceObjectWithTag
ObGetObjectSecurity
ObReferenceObject
ObReferenceObjectByHandle
ObReferenceObjectByHandleWithTag
ObReferenceObjectByPointer
ObReferenceObjectByPointerWithTag
ObReferenceObjectWithTag
ObReleaseObjectSecurity
PoCallDriver
PoRequestPowerIrp
ProbeForRead
ProbeForWrite
PsCreateSystemThread
PsGetVersion
PsRemoveLoadImageNotifyRoutine
PsSetCreateProcessNotifyRoutine
PsSetCreateProcessNotifyRoutineEx
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
RtlDeleteRegistryValue
SeAccessCheck
SeAssignSecurity
SeAssignSecurityEx
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
ZwFlushKey
ZwFreeVirtualMemory
ZwFsControlFile
ZwGetNotificationResourceManager
ZwLoadDriver
ZwLockFile
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwNotifyChangeKey
ZwOpenDirectoryObject
ZwOpenEnlistment
ZwOpenEvent
ZwOpenFile
ZwOpenKey
ZwOpenKeyEx
ZwOpenKeyTransacted
ZwOpenKeyTransactedEx
ZwOpenProcess
ZwOpenProcessTokenEx
ZwOpenResourceManager
ZwOpenSection
ZwOpenSymb一LinkObject
ZwOpenThreadTokenEx
ZwOpenTransaction
ZwOpenTransactionManager
ZwPowerInformation
ZwPrepareComplete
ZwPrepareEnlistment
ZwPrePrepareComplete
ZwPrePrepareEnlistment
ZwQueryDirectoryFile
ZwQueryEaFile
ZwQueryFullAttributesFile
ZwQueryInformationEnlistment
ZwQueryInformationFile
ZwQueryInformationResourceManager
ZwQueryInformationToken
ZwQueryInformationTransaction
ZwQueryInformationTransactionManager
ZwQueryKey
ZwQueryObject
ZwQueryQuotaInformationFile
ZwQuerySecurityObject
ZwQuerySymb一LinkObject
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
ZwWaitForSingleObject
ZwWriteFile