Optional OAL Functions (Windows CE 5.0)

Send Feedback

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

OAL Functions

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.