Training
Module
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
The following obsolete routines are exported to support existing binaries:
Obsolete routine | Description |
---|---|
ExAcquireResourceExclusive | Use ExAcquireResourceExclusiveLite instead. |
ExAcquireResourceShared | Use ExAcquireResourceSharedLite instead. |
ExAllocateFromZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExConvertExclusiveToShared | Use ExConvertExclusiveToSharedLite instead. |
ExDeleteResource | Use ExDeleteResourceLite instead. |
ExExtendZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExFreeToZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExInitializeResource | Use ExInitializeResourceLite instead. |
ExInitializeWorkItem | Use IoAllocateWorkItem instead. |
ExInitializeZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExInterlockedAllocateFromZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExInterlockedDecrementLong | Use InterlockedDecrement instead. |
ExInterlockedExchangeAddLargeInteger | For more information about atomically adding two 64-bit numbers, see InterlockedExchangeAdd64. |
ExInterlockedExchangeUlong | Use InterlockedExchange instead. |
ExInterlockedExtendZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExInterlockedFreeToZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExInterlockedIncrementLong | Use InterlockedIncrement instead. |
ExIsFullZone | Use lookaside lists instead. For more information, see Buffer Management. |
ExIsObjectInFirstZoneSegment | Use lookaside lists instead. For more information, see Buffer Management. |
ExIsResourceAcquired | Use ExIsResourceAcquiredLite instead. |
ExIsResourceAcquiredExclusive | Use ExIsResourceAcquiredExclusiveLite instead. |
ExIsResourceAcquiredShared | Use ExIsResourceAcquiredSharedLite instead. |
ExReleaseResource | Use ExReleaseResourceLite instead. |
ExReleaseResourceForThread | Use ExReleaseResourceForThreadLite instead. |
IoAllocateAdapterChannel | Use AllocateAdapterChannel instead. |
IoAssignResources | Drivers of PnP devices are assigned resources by the PnP manager, which passes resource lists with each IRP_MN_START_DEVICE request. Drivers that must support a legacy device that cannot be enumerated by the PnP manager should use IoReportDetectedDevice and IoReportResourceForDetection instead. |
IoAttachDeviceByPointer | Use IoAttachDeviceToDeviceStack instead. |
IoFlushAdapterBuffers | Use FlushAdapterBuffers instead. |
IoFreeAdapterChannel | Use FreeAdapterChannel instead. |
IoFreeMapRegisters | Use FreeMapRegisters instead. |
IoMapTransfer | Use MapTransfer instead. |
IoQueryDeviceDescription | This routine retrieves hardware configuration information about a given bus, controller or peripheral object, or any combination of these three types from the \Registry\Machine\Hardware\Description tree. Drivers that require hardware configuration information should use IoGetDeviceProperty instead. |
IoReportResourceUsage | This routine claims hardware resources, such as an interrupt vector, device memory range or a particular DMA controller channel in the \Registry\Machine\Hardware\ResourceMap tree, so that a subsequently loaded driver cannot attempt to use the same resources. If a new driver must support a legacy device that is not PnP-enumerable, the driver should call IoReportResourceForDetection to claim resources for the device. |
KeGetDcacheFillSize | Drivers should call GetDmaAlignment instead. |
MmCreateMdl | Use IoAllocateMdl instead. |
MmIsNonPagedSystemAddressValid |
AllocateAdapterChannel
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExConvertExclusiveToSharedLite
ExDeleteResourceLite
ExInitializeResourceLite
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExReleaseResourceForThreadLite
ExReleaseResourceLite
InterlockedDecrement
InterlockedExchange
InterlockedIncrement
FlushAdapterBuffers
FreeAdapterChannel
FreeMapRegisters
GetDmaAlignment
InterlockedExchangeAdd64
IoAllocateMdl
IoAllocateWorkItem
IoAttachDeviceToDeviceStack
IoGetDeviceProperty
IoReportDetectedDevice
IoReportResourceForDetection
IRP_MN_START_DEVICE
MapTransfer
Training
Module
Troubleshoot device driver failures - Training
This module focuses on the role of device drivers and troubleshooting problems that pertain to them.