Freigeben über


Veraltete Windows-Kernelroutinen

Die folgenden veralteten Routinen werden exportiert, um vorhandene Binärdateien zu unterstützen:

Veraltete Routine BESCHREIBUNG
ExAcquireResourceExclusive

Verwenden Sie stattdessen ExAcquireResourceExclusiveLite .

ExAcquireResourceShared

Verwenden Sie stattdessen ExAcquireResourceSharedLite .

ExAllocateFromZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExConvertExclusiveToShared

Verwenden Sie stattdessen ExConvertExclusiveToSharedLite .

ExDeleteResource

Verwenden Sie stattdessen ExDeleteResourceLite .

ExExtendZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExFreeToZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExInitializeResource

Verwenden Sie stattdessen ExInitializeResourceLite .

ExInitializeWorkItem

Verwenden Sie stattdessen IoAllocateWorkItem .

ExInitializeZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExInterlockedAllocateFromZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExInterlockedDecrementLong

Verwenden Sie stattdessen InterlockedDecrement .

ExInterlockedExchangeAddLargeInteger

Weitere Informationen zum atomaren Hinzufügen von zwei 64-Bit-Zahlen finden Sie unter InterlockedExchangeAdd64.

ExInterlockedExchangeUlong

Verwenden Sie stattdessen InterlockedExchange .

ExInterlockedExtendZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExInterlockedFreeToZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExInterlockedIncrementLong

Verwenden Sie stattdessen InterlockedIncrement .

ExIsFullZone

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExIsObjectInFirstZoneSegment

Verwenden Sie stattdessen Lookaside-Listen. Weitere Informationen finden Sie unter Pufferverwaltung.

ExIsResourceAcquired

Verwenden Sie stattdessen ExIsResourceAcquiredLite .

ExIsResourceAcquiredExclusive

Verwenden Sie stattdessen ExIsResourceAcquiredExclusiveLite .

ExIsResourceAcquiredShared

Verwenden Sie stattdessen ExIsResourceAcquiredSharedLite .

ExReleaseResource

Verwenden Sie stattdessen ExReleaseResourceLite .

ExReleaseResourceForThread

Verwenden Sie stattdessen ExReleaseResourceForThreadLite .

IoAllocateAdapterChannel

Verwenden Sie stattdessen AllocateAdapterChannel .

IoAssignResources

Treibern von PnP-Geräten werden Ressourcen vom PnP-Manager zugewiesen, der Ressourcenlisten mit jeder IRP_MN_START_DEVICE Anforderung übergibt. Treiber, die ein Älteres Gerät unterstützen müssen, das vom PnP-Manager nicht aufgezählt werden kann, sollten stattdessen IoReportDetectedDevice und IoReportResourceForDetection verwenden.

IoAttachDeviceByPointer

Verwenden Sie stattdessen IoAttachDeviceToDeviceStack .

IoFlushAdapterBuffers

Verwenden Sie stattdessen FlushAdapterBuffers .

IoFreeAdapterChannel

Verwenden Sie stattdessen FreeAdapterChannel .

IoFreeMapRegisters

Verwenden Sie stattdessen FreeMapRegisters .

IoMapTransfer

Verwenden Sie stattdessen MapTransfer .

IoQueryDeviceDescription

Diese Routine ruft Hardwarekonfigurationsinformationen zu einem bestimmten Bus-, Controller- oder Peripherieobjekt oder einer Kombination dieser drei Typen aus der Struktur \Registry\Machine\Hardware\Description ab. Treiber, die Hardwarekonfigurationsinformationen erfordern, sollten stattdessen IoGetDeviceProperty verwenden.

IoReportResourceUsage

Diese Routine beansprucht Hardwareressourcen wie einen Interruptvektor, einen Gerätespeicherbereich oder einen bestimmten DMA-Controllerkanal in der Struktur \Registry\Machine\Hardware\ResourceMap , sodass ein anschließend geladener Treiber nicht versuchen kann, dieselben Ressourcen zu verwenden. Wenn ein neuer Treiber ein älteres Gerät unterstützen muss, das nicht PnP-enumerable ist, sollte der Treiber IoReportResourceForDetection aufrufen, um Ressourcen für das Gerät in Anspruch zu nehmen.

KeGetdcacheFillSize

Treiber sollten stattdessen GetDmaAlignment aufrufen.

MmCreateMdl

Verwenden Sie stattdessen 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