Windows カーネルの廃止ルーチン

既存のバイナリをサポートするために以下の廃止ルーチンがエクスポートされます。

廃止ルーチン 説明
ExAcquireResourceExclusive

代わりに ExAcquireResourceExclusiveLite を使用してください。

ExAcquireResourceShared

代わりに ExAcquireResourceSharedLite を使用してください。

ExAllocateFromZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExConvertExclusiveToShared

代わりに ExConvertExclusiveToSharedLite を使用してください。

ExDeleteResource

代わりに ExDeleteResourceLite を使用してください。

ExExtendZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExFreeToZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExInitializeResource

代わりに ExInitializeResourceLite を使用してください。

ExInitializeWorkItem

代わりに IoAllocateWorkItem を使用してください。

ExInitializeZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExInterlockedAllocateFromZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExInterlockedDecrementLong

代わりに InterlockedDecrement を使用してください。

ExInterlockedExchangeAddLargeInteger

2 つの 64 ビット値をアトミックに追加する方法の詳細については「InterlockedExchangeAdd64」を参照してください。

ExInterlockedExchangeUlong

代わりに InterlockedExchange を使用してください。

ExInterlockedExtendZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExInterlockedFreeToZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExInterlockedIncrementLong

代わりに InterlockedIncrement を使用してください。

ExIsFullZone

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExIsObjectInFirstZoneSegment

代わりにルックアサイド リストを使用してください。 詳細については「バッファー管理」を参照してください。

ExIsResourceAcquired

代わりに ExIsResourceAcquiredLite を使用してください。

ExIsResourceAcquiredExclusive

代わりに ExIsResourceAcquiredExclusiveLite を使用してください。

ExIsResourceAcquiredShared

代わりに ExIsResourceAcquiredSharedLite を使用してください。

ExReleaseResource

代わりに ExReleaseResourceLite を使用してください。

ExReleaseResourceForThread

代わりに ExReleaseResourceForThreadLite を使用してください。

IoAllocateAdapterChannel

代わりに AllocateAdapterChannel を使用してください。

IoAssignResources

PnP デバイスのドライバーには PnP マネージャーによってリソースが割り当てられます。PnP マネージャーからは、IRP_MN_START_DEVICE 要求ごとにリソース一覧が渡されます。 PnP マネージャーで列挙できないレガシ デバイスをサポートする必要があるドライバーでは、代わりに IoReportDetectedDeviceIoReportResourceForDetection を使用する必要があります。

IoAttachDeviceByPointer

代わりに IoAttachDeviceToDeviceStack を使用してください。

IoFlushAdapterBuffers

代わりに FlushAdapterBuffers を使用してください。

IoFreeAdapterChannel

代わりに FreeAdapterChannel を使用してください。

IoFreeMapRegisters

代わりに FreeMapRegisters を使用してください。

IoMapTransfer

代わりに MapTransfer を使用してください。

IoQueryDeviceDescription

このルーチンは、特定のバス オブジェクト、コントローラー オブジェクト、または周辺機器オブジェクト、あるいはこれら 3 種類の任意の組み合わせに関するハードウェア構成情報を \Registry\Machine\Hardware\Description ツリーから取得します。 ハードウェア構成情報を必要とするドライバーでは、代わりに IoGetDeviceProperty を使用する必要があります。

IoReportResourceUsage

このルーチンはハードウェア リソースを要求して、以降に読み込まれるドライバーでそのリソースを使用できないようにします。このようなリソースとして、割り込みベクター、デバイス メモリ範囲、\Registry\Machine\Hardware\ResourceMap ツリーにある 特定の DMA コントローラー チャネルなどがあります。 PnP で列挙できないレガシ デバイスを新しいドライバーでサポートする必要がある場合、ドライバーで IoReportResourceForDetection を呼び出して、そのデバイスのリソースを要求する必要があります。

KeGetDcacheFillSize

ドライバーでは、代わりに GetDmaAlignment を呼び出す必要があります。

MmCreateMdl

代わりに IoAllocateMdl を使用してください。

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