Optional OAL Functions

The following table shows the optional OAL functions with a description of the purpose of each.

Programming element Description
CeLogInterrupt This function is called by the kernel twice for each interrupt: once when the interrupt occurs but before the interrupt service routine (ISR) is called, and once when the ISR returns to the kernel.
CertifyModule This function, which is called from the OEMCertifyModule function, streams the bytes of a module for certification.
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 is implemented by an ISR to return a value that references a particular instance of the ISR.
DestroyInstance This function is called when an installable ISR is unloaded using the FreeIntChainHandler function.
FreeIntChainHandler This function unloads an existing interrupt handler.
IOControl This function, exported by the installable ISR DLL, enables a communication path from the interrupt service thread (IST) to the ISR.
KernelLibIoControl This function is called from a driver to communicate with an interrupt handler.
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 is called by a driver to install an ISR to handle a particular interrupt.
LogProcessCreate This function logs the creation of a process.
LogProcessDelete This function logs the termination of a process.
LogThreadCreate This function logs the creation of a thread.
LogThreadDelete This function logs the termination of a thread.
LogThreadSwitch This function logs the occurrence of a thread that is scheduled to run.
lpNKHaltSystem This function 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 so that it can be determined 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 This function is no longer required as of Windows CE .NET 4.2. For information about new debug communication settings, see the KITLTRANSPORT structure.
OEMEthQueryClientInfo This function retrieves platform-specific information for debug Ethernet services. This function is no longer required. For information about new debug communication settings, see the KITLTRANSPORT structure.
OEMFindFirstWakeSource This function uses the SYSINTR or SYSWAKE logical interrupts to determine the lowest-valued wake event that has occurred since a call to the OEMClearIntSources function.
OEMGetInterrupt This function helps implement the IOCTL_HAL_REQUEST_IRQ IOCTL in the OEMIoControl routine.
OEMGetWakeupSource This function should return some wake event that has occurred since a call to the OEMPowerOff function.
OEMHandleVFPException This function is called to handle a floating point exception reported by Vector Floating Point (VFP) hardware.
OEMIndicateIntSource This function indicates the occurrence of a given SYSINTR.
OEMInitCoProcRegisterSavedArea This function is called by the kernel when a thread is created to initialize the debug registers.
OEMKDIoControl This function is implemented by the OEM to support requests from the kernel debugger.
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.
OEMResetWakeupSource This function resets wake sources.
OEMRestoreCoProcRegister This function is called by the kernel to restore the platform specific debug registers when a thread switch occurs.
OEMRestoreVFPCtrlRegs This function is called to restore the state of the extra implementation defined VFP registers for the current thread.
OEMSaveCoProcRegister This function is called by the kernel to save the platform-specific debug registers when a thread switch occurs.
OEMSaveVFPCtrlRegs This function is called when the kernel needs to save the state of the extra FPU registers for the current thread.
OEMSetWakeupSource This function sets wake sources.
OEMTranslateIrq This function translates a non-shareable IRQ into a SYSINTR, or the last shared IRQ that an installable ISR does not contain.
OEMTranslateSysIntr This function maps a SYSINTR to its corresponding IRQ.
OEMWriteDebugLED This function outputs a byte to the target device's specified LED port.
pNotifyForceCleanboot This function is called by Filesys.exe when a cold boot of the object store is about to occur.
pOEMCalcFSPages This function is called in the OAL by the kernel to recalculate how much memory should be allocated to the object store.
pQueryPerformanceCounter This function is optional and should be set for platforms that provide timer functions with higher granularity than GetTickCount.
pQueryPerformanceFrequency This function is optional and should be set for platforms that provide timer functions with higher granularity than GetTickCount.
ReadRegistryFromOEM This function reads a registry file into RAM from persistent storage as defined by the OEM.
SchedLogGetProcessName This function retrieves the name of a process.
SchedLogGetThreadProgramCounter This function retrieves the program counter for the specified thread. This function also retrieves the module and function names.
SchedLogTranslate This function enables a thread identifier or process identifier forwarded by the OAL logging functions to be converted into a Windows CE object handle.
WriteRegistryToOEM This function is called by the operating system to transfer registry data to persistent storage.

See Also

OAL Functions

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.