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
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.