Optional OAL Functions (Windows CE 5.0)
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
Send Feedback on this topic to the authors