Displaying Warning Messages
The NDIS Verifier currently enables a DbgPrint warning message and breaks into the debugger if the NDIS_GFLAG_BREAK_ON_WARNING is set for the following cases:
Drivers that use reserved keywords instead of NdisMQueryAdapterResources to get assigned resources.
Drivers that use the following functions:
- NdisImmediateRead/WritePciSlotInformation: Use instead NdisReadPciSlotInformation and NdisWritePciSlotInformation.
- NdisImmediateRead/WritePortUchar/Ushort/Ulong: Register the I/O port range and use instead NdisRead/WritePortUchar/Ushort/Ulong.
- NdisImmediateRead/NdisWriteSharedMemory: Call NdisMMapIoSpace and then NdisMoveFromMappedMemory or NdisMoveToMappedMemory instead.
- NdisRead/WritePciSlotInformation with a slot number that is anything but zero.
- NdisMPciAssignResources: Use instead NdisMQueryAdapterResources.
- NdisAllocateMemory: Use instead NdisAllocateMemoryWithTag.
- NdisQuerymapRegisterCount: Obsolete function. Instead, use the NdisMInitializeScatterGatherDma function to initialize system resources for DMA operations.
Miniport drivers that specify NDIS_ATTRIBUTE_IGNORE_PACKET_TIMEOUT/NDIS_ATTRIBUTE_IGNORE_REQUEST_TIMEOUT in the NdisMSetAttributesEx function. The NDIS Verifier catches only hardware drivers that use I/O resources. Intermediate drivers and WAN miniport drivers can specify these flags.
Drivers that indicate packets (such as when drivers call the NdisMIndicateReceivePacket function) before the receive filter is set through OID_GEN_CURRENT_PACKET_FILTER.
Drivers that do not register a MiniportShutdown function.