Compartir a través de


Rutinas obsoletas del kernel de Windows

Las siguientes rutinas obsoletas se exportan para admitir archivos binarios existentes:

Rutina obsoleta Descripción
ExAcquireResourceExclusive

En su lugar, use ExAcquireResourceExclusiveLite .

ExAcquireResourceShared

Use ExAcquireResourceSharedLite en su lugar.

ExAllocateFromZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExConvertExclusiveToShared

En su lugar, use ExConvertExclusiveToSharedLite .

ExDeleteResource

Use ExDeleteResourceLite en su lugar.

ExExtendZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExFreeToZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExInitializeResource

En su lugar, use ExInitializeResourceLite .

ExInitializeWorkItem

Use IoAllocateWorkItem en su lugar.

ExInitializeZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExInterlockedAllocateFromZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExInterlockedDecrementLong

Use InterlockedDecrement en su lugar.

ExInterlockedExchangeAddLargeInteger

Para obtener más información sobre cómo agregar de forma atómica dos números de 64 bits, vea InterlockedExchangeAdd64.

ExInterlockedExchangeUlong

En su lugar, use InterlockedExchange .

ExInterlockedExtendZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExInterlockedFreeToZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExInterlockedIncrementLong

Use InterlockedIncrement en su lugar.

ExIsFullZone

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExIsObjectInFirstZoneSegment

En su lugar, use listas de lookaside. Para obtener más información, consulte Administración de búferes.

ExIsResourceAcquired

Use ExIsResourceAcquiredLite en su lugar.

ExIsResourceAcquiredExclusive

Use ExIsResourceAcquiredExclusiveLite en su lugar.

ExIsResourceAcquiredShared

Use ExIsResourceAcquiredSharedLite en su lugar.

ExReleaseResource

Use ExReleaseResourceLite en su lugar.

ExReleaseResourceForThread

En su lugar, use ExReleaseResourceForThreadLite .

IoAllocateAdapterChannel

En su lugar, use AllocateAdapterChannel .

IoAssignResources

El administrador de PnP asigna los controladores de dispositivos PnP, que pasa listas de recursos con cada solicitud de IRP_MN_START_DEVICE . Los controladores que deben admitir un dispositivo heredado que el administrador de PnP no pueda enumerar deben usar IoReportDetectedDevice e IoReportResourceForDetection en su lugar.

IoAttachDeviceByPointer

Use IoAttachDeviceToDeviceStack en su lugar.

IoFlushAdapterBuffers

Use FlushAdapterBuffers en su lugar.

IoFreeAdapterChannel

Use FreeAdapterChannel en su lugar.

IoFreeMapRegisters

En su lugar, use FreeMapRegisters .

IoMapTransfer

Use MapTransfer en su lugar.

IoQueryDeviceDescription

Esta rutina recupera información de configuración de hardware sobre un bus determinado, un controlador o un objeto periférico, o cualquier combinación de estos tres tipos del árbol \Registry\Machine\Hardware\Description . Los controladores que requieren información de configuración de hardware deben usar IoGetDeviceProperty en su lugar.

IoReportResourceUsage

Esta rutina reclama recursos de hardware, como un vector de interrupción, un intervalo de memoria del dispositivo o un canal de controlador DMA determinado en el árbol \Registry\Machine\Hardware\ResourceMap , de modo que un controlador cargado posteriormente no pueda intentar usar los mismos recursos. Si un nuevo controlador debe admitir un dispositivo heredado que no sea enumerable PnP, el controlador debe llamar a IoReportResourceForDetection para reclamar los recursos del dispositivo.

KeGetDcacheFillSize

Los controladores deben llamar a GetDmaAlignment en su lugar.

MmCreateMdl

Use IoAllocateMdl en su lugar.

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