Windows 커널 사용되지 않는 루틴

기존 이진 파일을 지원하기 위해 다음과 같은 사용되지 않는 루틴을 내보냅니다.

사용되지 않는 루틴 설명
ExAcquireResourceExclusive

대신 ExAcquireResourceExclusiveLite 를 사용합니다.

ExAcquireResourceShared

대신 ExAcquireResourceSharedLite 를 사용합니다.

ExAllocateFromZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExConvertExclusiveToShared

대신 ExConvertExclusiveToSharedLite 를 사용합니다.

ExDeleteResource

대신 ExDeleteResourceLite 를 사용합니다.

ExExtendZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExFreeToZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExInitializeResource

대신 ExInitializeResourceLite 를 사용합니다.

ExInitializeWorkItem

대신 IoAllocateWorkItem 을 사용합니다.

ExInitializeZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExInterlockedAllocateFromZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExInterlockedDecrementLong

대신 InterlockedDecrement 를 사용합니다.

ExInterlockedExchangeAddLargeInteger

두 개의 64비트 숫자를 원자성으로 추가하는 방법에 대한 자세한 내용은 InterlockedExchangeAdd64를 참조하세요.

ExInterlockedExchangeUlong

대신 InterlockedExchange 를 사용합니다.

ExInterlockedExtendZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExInterlockedFreeToZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExInterlockedIncrementLong

대신 InterlockedIncrement 를 사용합니다.

ExIsFullZone

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExIsObjectInFirstZoneSegment

대신 lookaside 목록을 사용합니다. 자세한 내용은 버퍼 관리를 참조하세요.

ExIsResourceAcquired

대신 ExIsResourceAcquiredLite 를 사용합니다.

ExIsResourceAcquiredExclusive

대신 ExIsResourceAcquiredExclusiveLite 를 사용합니다.

ExIsResourceAcquiredShared

대신 ExIsResourceAcquiredSharedLite 를 사용합니다.

ExReleaseResource

대신 ExReleaseResourceLite 를 사용합니다.

ExReleaseResourceForThread

대신 ExReleaseResourceForThreadLite 를 사용합니다.

IoAllocateAdapterChannel

대신 AllocateAdapterChannel 을 사용합니다.

IoAssignResources

PnP 디바이스의 드라이버에는 각 IRP_MN_START_DEVICE 요청과 함께 리소스 목록을 전달하는 PnP 관리자가 리소스를 할당합니다. PnP 관리자가 열거할 수 없는 레거시 디바이스를 지원해야 하는 드라이버는 대신 IoReportDetectedDeviceIoReportResourceForDetection 을 사용해야 합니다.

IoAttachDeviceByPointer

대신 IoAttachDeviceToDeviceStack을 사용합니다.

IoFlushAdapterBuffers

대신 FlushAdapterBuffers 를 사용합니다.

IoFreeAdapterChannel

대신 FreeAdapterChannel 을 사용합니다.

IoFreeMapRegisters

대신 FreeMapRegisters를 사용합니다.

IoMapTransfer

대신 MapTransfer 를 사용합니다.

IoQueryDeviceDescription

이 루틴은 지정된 버스, 컨트롤러 또는 주변 장치 개체 또는 \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