правило Irql_Miscellaneous_Function (ndis)

Правило Irql_Miscellaneous_Function указывает, что функции NDIS должны вызываться на правильных уровнях IRQL.

Это правило проверяет следующие функции:

KeGetCurrentProcessorNumberNdisAllocateFromNPagedLookasideListNdisAllocateGenericObjectNdisAllocateIoWorkItemNdisAllocateMemoryWithTagPriorityNdisAnsiStringToUnicodeStringNdisCloseConfigurationNdisCloseFileNdisDeleteNPagedLookasideListNdisDeregisterDeviceExNdisEqualMemoryNdisEqualUnicodeStringNdisFreeGenericObjectNdisFreeIoWorkItemNdisFreeMemoryNdisFreeSpinLockNdisFreeStringNdisFreeToNPagedLookasideListNdisGeneratePartialCancelIdNdisGetCurrentProcessorCountsNdisGetDriverHandleNdisGetRoutineAddressNdisGetSharedDataAlignmentNdisGetVersionNdisInitAnsiStringNdisInitializeListHeadNdisInitializeNPagedLookasideListNdisInitializeSListHeadNdisInitializeStringNdisInitUnicodeStringNdisMapFileNdisOpenConfigurationExNdisOpenConfigurationKeyByIndexNdisOpenConfigUrationKeyByNameNdisOpenFileNdisQueryAdapterInstanceNameNdisQueryDepthSListNdisQueueIoWorkItemNdisReadConfigurationNdisReadNetworkAddressNdisReEnumerateProtocolBindingsNdisSetOptionalHandlersNdisSystemProcessorCountNdisUnicodeStringToAnsiStringNdisUnmapFileNdisUpcaseUnicodeStringNdisWaitEventNdisWriteConfigurationNdisWriteErrorLogEntryNdisWriteEventLogEntry

Модель драйвера: NDIS

Как тестировать

Во время компиляции

Запустите средство проверки статических драйверов и укажите правило Irql_Miscellaneous_Function .

Выполните следующие действия, чтобы выполнить анализ кода.
  1. Подготовьте код (используйте объявления типов ролей).
  2. Запустите средство проверки статических драйверов.
  3. Просмотр и анализ результатов.

Дополнительные сведения см. в разделе Использование средства проверки статических драйверов для поиска дефектов в драйверах.

Применяется к

NdisAllocateFromNPagedLookasideList
NdisAllocateGenericObject
NdisAllocateIoWorkItem
NdisAllocateMemoryWithTagPriority
NdisAnsiStringToUnicodeString
NdisCloseConfiguration
NdisCloseFile
NdisDeleteNPagedLookasideList
NdisDeregisterDeviceEx
NdisEqualMemory
NdisEqualString
NdisEqualUnicodeString
NdisFreeGenericObject
NdisFreeIoWorkItem
NdisFreeMemory
NdisFreeString
NdisFreeToNPagedLookasideList
NdisGeneratePartialCancelId
NdisGetCurrentProcessorCounts
NdisGetRoutineAddress
NdisGetSharedDataAlignment
NdisGetVersion
NdisInitAnsiString
NdisInitializeNPagedLookasideList
NdisInitializeString
NdisInitUnicodeString
NdisMapFile
NdisOpenConfigurationEx
NdisOpenConfigurationKeyByIndex
NdisOpenConfigurationKeyByName
NdisOpenFile
NdisQueryAdapterInstanceName
NdisQueryDepthSList
NdisQueueIoWorkItem
NdisReadConfiguration
NdisReadNetworkAddress
NdisReEnumerateProtocolBindings
NdisRegisterDeviceEx
NdisSetOptionalHandlers
NdisSystemProcessorCount
NdisUnicodeStringToAnsiString
NdisUnmapFile
NdisUpcaseUnicodeString
NdisWaitEvent
NdisWriteConfiguration
NdisWriteErrorLogEntry
NdisWriteEventLogEntry
KeGetCurrentProcessorNumber