Irql_Miscellaneous_Function regra (ndis)

A regra Irql_Miscellaneous_Function especifica que as funções NDIS devem ser chamadas em níveis IRQL corretos.

Essa regra verifica as seguintes funções:

KeGetCurrentProcessorNumberNdisAllocateFromNPagedLookasideListNdisAllocateGenericObjectNdisAllocateIoWorkItemNdisAllocateMemoryWithTagPriorityNdisAnsiStringToUnicodeStringNdisCloseConfigurationNdisCloseFileNdisDeleteNPagedLookasideListNdisDeregisterDeviceExNdisEqualMemoryNdisEqualUnicodeStringNdisFreeGenericObjectNdisFreeIoWorkItemNdisFreeMemoryNdisFreeSpinLockNdisFreeStringNdisFreeToNPagedLookasideListNdisGeneratePartialCancelIdNdisGetCurrentProcessorCountsNdisGetDriverHandleNdisGetRoutineAddressNdisGetSharedDataAlignmentNdisGetVersionNdisInitAnsiStringNdisInitializeListHeadNdisInitializeNPagedLookasideListNdisInitializeSListHeadNdisInitializeStringNdisInitUnicodeStringNdisMapFileNdisOpenConfigurationExNdisOpenConfigurationKeyByIndexNdisOpenConfigurationKeyByNameNdisOpenFileNdisQueryAdapterInstanceNameNdisQueryDepthSListNdisQueueIoWorkItemNdisReadConfigurationNdisReadNetworkAddressNdisReEnumerateProtocolBindingsNdisSetOptionalHandlersNdisSystemProcessorCountNdisUnicodeStringToAnsiStringNdisUnmapFileNdisUpcaseUnicodeStringNdisWaitEventNdisWriteConfigurationNdisWriteErrorLogEntryNdisWriteEventLogEntry

Modelo de driver: NDIS

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra de Irql_Miscellaneous_Function .

Use as seguintes etapas para executar uma análise do código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte Usando o Verificador de Driver Estático para localizar defeitos em drivers.

Aplica-se a

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