HwStorPortProhibitedDDIs rule (storport)

This rule contains a list of WDM DDIs (excluding interlocked functions) that should not be called in physical StorPort miniport drivers.

Driver modelStorport

How to test

At compile time

Run Static Driver Verifier and specify the HwStorPortProhibitedDDIs rule.

Use the following steps to run an analysis of your code:
  1. Prepare your code (use role type declarations).
  2. Run Static Driver Verifier.
  3. View and analyze the results.

For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Applies to

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
ExGetExclusiveWaiterCount
ExGetSharedWaiterCount
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExIsProcessorFeaturePresent
ExIsResourceAcquired
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredLite
ExIsResourceAcquiredShared
ExIsResourceAcquiredSharedLite
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
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
IoDeleteSymbolicLink
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
ZwOpenSymbolicLinkObject
ZwOpenThreadTokenEx
ZwOpenTransaction
ZwOpenTransactionManager
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
ZwWaitForSingleObject
ZwWriteFile

 

 

Send comments about this topic to Microsoft

顯示:
© 2014 Microsoft