Windows kernel obsolete routines

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