Share via


Optional OAL Functions

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

The following table shows the optional OAL functions.

Programming element Description

CertifyModule

This function streams the bytes of a module for certification. It is called from the OEMCertifyModule function.

CertifyModuleFinal

This function returns the final certification status of a file and any data embedded in the signature.

CertifyModuleInit

This function begins verifying a signature on a module to certify the module.

CreateInstance

This function returns a value that references a particular instance of the ISR. It is implemented by an interrupt service routine (ISR).

DestroyInstance

This function frees the instance entry and is called when an installable ISR is unloaded using the FreeIntChainHandler function.

FreeIntChainHandler

This function unloads an existing interrupt handler.

IOControl

This function enables a communication path from the interrupt service thread (IST) to the ISR. It exported by the installable ISR DLL.

KLibAllocShareMem

This function allocates memory that can be shared between the ISR and IST.

KLibFreeShareMem

This function frees memory that is allocated by the KLibAllocShareMem function.

LoadIntChainHandler

This function installs an ISR to handle a particular interrupt. It is called by a driver.

lpNKHaltSystem

This function halts the system when a non-recoverable error is encountered. It is called when the kernel is about to halt the system.

NKCallIntChain

This function determines which chained, or shared, interrupt device triggered an IRQ event.

NKCreateStaticMapping

This function creates a static virtual memory address that maps to a physical address.

NKForceCleanBoot

This function forces the OS to boot from a clean file system.

OEMCertifyModule

This function enables the OS loader to pass the module code, for example, .dll, .exe, and .ocx, to the OEM to verify that a module can be safely run on the system.

OEMCertifyModuleInit

This function enables the OS loader to notify the OEM that a new module is being loaded.

OEMClearIntSources

This function initializes the fInterruptWakeup array to determine whether a wake event has occurred since the execution of this function.

OEMEnumExtensionDRAM

This function returns information about extension DRAM, if present on the device.

OEMEthISR

No longer required, as of Windows CE .NET 4.2.

For information about new debug communication settings, see the KITLTRANSPORT structure.

OEMEthQueryClientInfo

No longer required. For information about new debug communication settings, see the KITLTRANSPORT structure.

OEMFindFirstWakeSource

This function determines the lowest-valued wake event that has occurred since a call to the OEMClearIntSources function. It uses the SYSINTR or SYSWAKE logical interrupts to do this.

OEMGetInterrupt

This function helps implement the IOCTL_HAL_REQUEST_IRQ IOCTL in the OEMIoControl routine.

OEMGetWakeupSource

This function returns a wake event that has occurred since a call to the OEMPowerOff function.

OEMHandleVFPException

This function handles a floating-point exception reported by vector floating point (VFP) hardware.

OEMIndicateIntSource

This function, along with the set of enabled wake sources, determines if a wake event occurred. It indicates the occurrence of a specified SYSINTR.

OEMInitCoProcRegisterSavedArea

This function initializes the debug registers. It is called by the kernel when a thread is created.

OEMIntrOccurs

This function catches interrupts. It is called when an interrupt occurs.

OEMKDIoControl

This function supports requests from the kernel debugger. It is implemented by the OEM.

OEMIsRom

This function determines if a given address range falls within a valid range of ROM addresses, and may be used to support ROM breakpoints.

OEMPowerManagerInit

This function handles the initialization routines used by the kernel's suspend code.

OEMRequestSysIntr

This function implements IOCTL_HAL_TRANSLATE_IRQ and IOCTL_HAL_REQUEST_SYSINTR in the OEMIoControl function.

OEMReschedule

This function catches thread switching. It is called when the new thread is ready to run.

OEMResetWakeupSource

This function resets wake event sources.

OEMRestoreCoProcRegister

This function restores the platform specific debug registers when a thread switch occurs. It is called by the kernel.

OEMRestoreVFPCtrlRegs

This function restores the state of the extra implementation defined VFP registers for the current thread.

OEMSaveCoProcRegister

This function saves the platform-specific debug registers when a thread switch occurs. It is called by the kernel.

OEMSaveVFPCtrlRegs

This function saves the state of the extra FPU registers for the current thread. It is called by the kernel.

OEMSetWakeupSource

This function sets wake event sources.

OEMTranslateIrq

This function translates a non-shareable IRQ into a SYSINTR or into the last shared IRQ that an installable ISR does not contain.

OEMTranslateSysIntr

This function maps a SYSINTR to its corresponding IRQ.

OEMWriteDebugLED

This function sendsa byte to the target device's specified LED port.

pfnNKDrWatsonClear

This function can be used to change the DrWatsonClear functionality.

pfnNKDrWatsonFlush

This function can be used to change the DrWatsonFlush functionality.

pfnNKDrWatsonRead

This function can be used to change the DrWatsonReadData functionality.

pfnNKDrWatsonWrite

This function can be used to change the DrWatsonWriteData functionality.

pfnOEMRefreshWatchDog

This function refreshes the hardware watchdog. It is called by the kernel.

pfnOEMIntrOccurs

Optional. This function pointer points to the OEMIntrOccurs function, if defined.

pfnOEMReschedule

Optional. This function pointer points to the OEMReschedule function, if defined.

pfnOEMSetMemoryAttributes

This function supports changes to memory attributes. It is initialized to NULL. OEMs can initialize this function.

pNKEnumExtensionDRAM

This function enumerates multiple memory sections. It is a kernel global function pointer that is used by the kernel.

pNotifyForceCleanboot

This function forces a cold boot of the object store. It is called by Filesys.exe when a cold boot is about to occur.

pOEMCalcFSPages

This function recalculates how much memory should be allocated to the object store. It is called in the OAL by the kernel to

pOEMIsProcessorFeaturePresent

This function points to the IsProcessorFeaturePresent function, if defined.

pOEMLoadInit

Optional. This function points to the OEMCertifyModuleInit function, if defined.

pOEMLoadModule

Optional. This function points to the OEMCertifyModule function, if defined.

pOEMUpdateRescheduleTime

This function points to the function that reprograms the system timer.

pQueryPerformanceCounter

Optional. This function points to the OEM implementation of the OEMQueryPerformanceCounter function. It should be set for platforms that provide timer functions with higher granularity than GetTickCount.

pQueryPerformanceFrequency

Optional. This function points to the OEM implementation of the OEMQueryPerformanceFrequency function. It should be set for platforms that provide timer functions with higher granularity than GetTickCount.

pWriteDebugLED

This function writes debug output to an LED. It can be set by the OEM during OEMInit time.

pWriteRegistryToOEM

Optional. This function points to the WriteRegistryToOEM function, if defined.

ReadRegistryFromOEM

This function reads a registry file into RAM from persistent storage as defined by the OEM.

WriteRegistryToOEM

This function transfers registry data to persistent storage. It is called by the operating system.

See Also

Reference

OAL Functions