Partilhar via


Rotinas obsoletas do kernel do Windows

As seguintes rotinas obsoletas são exportadas para dar suporte a binários existentes:

Rotina obsoleta Descrição
ExAcquireResourceExclusive

Use ExAcquireResourceExclusiveLite.

ExAcquireResourceShared

Use ExAcquireResourceSharedLite em vez disso.

ExAllocateFromZone

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExConvertExclusiveToShared

Use ExConvertExclusiveToSharedLite .

ExDeleteResource

Use ExDeleteResourceLite em vez disso.

ExExtendZone

Em vez disso, use listas Lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExFreeToZone

Em vez disso, use listas lookside. Para obter mais informações, consulte Usando buffers de memória.

ExInitializeResource

Use ExInitializeResourceLite em vez disso.

ExInitializeWorkItem

Use IoAllocateWorkItem em vez disso.

ExInitializeZone

Em vez disso, use listas lookside. Para obter mais informações, consulte Usando buffers de memória.

ExInterlockedAllocateFromZone

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExInterlockedDecrementLong

Em vez disso, use InterlockedDecrement .

ExInterlockedExchangeAddLargeInteger

Para obter mais informações sobre como adicionar atomicamente dois números de 64 bits, consulte InterlockedExchangeAdd64.

ExInterlockedExchangeUlong

Em vez disso, use InterlockedExchange .

ExInterlockedExtendZone

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExInterlockedFreeToZone

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExInterlockedIncrementLong

Use InterlockedIncrement em vez disso.

ExIsFullZone

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExIsObjectInFirstZoneSegment

Em vez disso, use listas lookaside. Para obter mais informações, consulte Usando buffers de memória.

ExIsResourceAcquired

Use ExIsResourceAcquiredLite em vez disso.

ExIsResourceAcquiredExclusive

Use ExIsResourceAcquiredExclusiveLite .

ExIsResourceAcquiredShared

Use ExIsResourceAcquiredSharedLite em vez disso.

ExReleaseResource

Use ExReleaseResourceLite em vez disso.

ExReleaseResourceForThread

Utilize ExReleaseResourceForThreadLite em vez disso.

IoAllocateAdapterChannel

Use AllocateAdapterChannel em vez disso.

IoAssignResources

Os drivers de dispositivos PnP recebem recursos do gerenciador PnP, que passa listas de recursos a cada solicitação IRP_MN_START_DEVICE . Os drivers que devem suportar um dispositivo herdado que não pode ser enumerado pelo gerenciador PnP devem usar IoReportDetectedDevice e IoReportResourceForDetection em vez disso.

IoAttachDeviceByPointer

Use IoAttachDeviceToDeviceStack em vez disso.

IoFlushAdapterBuffers

Use FlushAdapterBuffers em vez disso.

IoFreeAdapterChannel

Use FreeAdapterChannel em vez disso.

IoFreeMapRegisters

Use FreeMapRegisters em vez disso.

IoMapTransfer

Use MapTransfer em vez disso.

IoQueryDeviceDescription

Esta rotina recupera informações de configuração de hardware sobre um barramento, controlador ou objeto periférico específico, ou qualquer combinação destes três tipos, a partir da árvore \Registry\Machine\Hardware\Description. Os drivers que exigem informações de configuração de hardware devem usar IoGetDeviceProperty em vez disso.

IoReportResourceUsage

Essa rotina reivindica recursos de hardware, como um vetor de interrupção, intervalo de memória de dispositivo ou um canal de controlador DMA específico na árvore \Registry\Machine\Hardware\ResourceMap , para que um driver carregado subsequentemente não possa tentar usar os mesmos recursos. Se um novo driver deve suportar um dispositivo herdado que não é enumerável PnP, o driver deve chamar IoReportResourceForDetection para reivindicar recursos para o dispositivo.

KeGetDcacheFillSize

Em vez disso, os drivers devem chamar GetDmaAlignment.

MmCreateMdl

Use IoAllocateMdl em vez disso.

MmIsNonPagedSystemAddressValid

AllocateAdapterChannel
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExConvertExclusiveToSharedLite
ExDeleteResourceLite
ExInitializeResourceLite
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExReleaseResourceForThreadLite
ExReleaseResourceLite
InterlockedDecrement
InterlockedExchange
InterlockedIncrement
FlushAdapterBuffers
FreeAdapterChannel
FreeMapRegisters
GetDmaAlignment
InterlockedExchangeAdd64
#B0 #A1 IoAllocateMdl #A2 #C3
IoAllocateWorkItem
IoAttachDeviceToDeviceStack
IoGetDeviceProperty
IoReportDetectedDevice
IoReportResourceForDetection
IRP_MN_START_DEVICE
Transferência de Mapa