Optional OAL Functions (Windows Embedded CE 6.0)

1/5/2010

The following table shows the optional OAL functions.

Programming element Description

CertifyModule

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

CertifyModuleFinal

Returns the final certification status of a file and any data embedded in the signature.

CertifyModuleInit

Begins verifying a signature on a module to certify the module.

CreateInstance

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

DestroyInstance

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

FreeIntChainHandler

Unloads an existing interrupt handler.

IOControl

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

KLibAllocShareMem

Allocates memory that can be shared between the ISR and IST.

KLibFreeShareMem

Frees memory that is allocated by the KLibAllocShareMem function.

LoadIntChainHandler

Installs an ISR to handle a particular interrupt. It is called by a driver.

lpNKHaltSystem

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

NKCallIntChain

Determines which chained, or shared, interrupt device triggered an IRQ event.

NKCreateStaticMapping

Creates a static virtual memory address that maps to a physical address.

NKForceCleanBoot

Forces the OS to boot from a clean file system.

OEMCertifyModule

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

Enables the OS loader to notify the OEM that a new module is being loaded.

OEMClearIntSources

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

OEMEnumExtensionDRAM

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

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

Helps implement the IOCTL_HAL_REQUEST_IRQ IOCTL in the OEMIoControl routine.

OEMGetWakeupSource

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

OEMHandleVFPException

Handles a floating-point exception reported by vector floating point (VFP) hardware.

OEMIndicateIntSource

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

OEMInitCoProcRegisterSavedArea

Initializes the debug registers. It is called by the kernel when a thread is created.

OEMIntrOccurs

Catches interrupts. It is called when an interrupt occurs.

OEMKDIoControl

Supports requests from the kernel debugger. It is implemented by the OEM.

OEMIsRom

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

OEMPowerManagerInit

Handles the initialization routines used by the kernel's suspend code.

OEMReschedule

Catches thread switching. It is called when the new thread is ready to run.

OEMResetWakeupSource

Resets wake event sources.

OEMRestoreCoProcRegister

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

OEMRestoreVFPCtrlRegs

Restores the state of the extra implementation defined VFP registers for the current thread.

OEMSaveCoProcRegister

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

OEMSaveVFPCtrlRegs

Saves the state of the extra FPU registers for the current thread. It is called by the kernel.

OEMSetWakeupSource

Sets wake event sources.

OEMTranslateIrq

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

OEMTranslateSysIntr

Maps a SYSINTR to its corresponding IRQ.

OEMWriteDebugLED

Sends a byte to the target device's specified LED port.

pfnNKDrWatsonClear

Can be used to change the DrWatsonClear functionality.

pfnNKDrWatsonFlush

Can be used to change the DrWatsonFlush functionality.

pfnNKDrWatsonRead

Can be used to change the DrWatsonReadData functionality.

pfnNKDrWatsonWrite

Can be used to change the DrWatsonWriteData functionality.

pfnOEMRefreshWatchDog

Refreshes the hardware watchdog. It is called by the kernel.

pfnOEMIntrOccurs

Optional. Points to the OEMIntrOccurs function, if defined.

pfnOEMReschedule

Optional. Points to the OEMReschedule function, if defined.

pfnSetMemoryAttributes

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

pNKEnumExtensionDRAM

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

pNotifyForceCleanboot

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

pOEMCalcFSPages

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

pOEMIsProcessorFeaturePresent

Points to the IsProcessorFeaturePresent function, if defined.

pOEMLoadInit

Optional. Points to the OEMCertifyModuleInit function, if defined.

pOEMLoadModule

Optional. Points to the OEMCertifyModule function, if defined.

pOEMUpdateRescheduleTime

Points to the function that reprograms the system timer.

pQueryPerformanceCounter

Optional. 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. 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

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

pWriteRegistryToOEM

Optional. Points to the WriteRegistryToOEM function, if defined.

ReadRegistryFromOEM

Reads a registry file into RAM from persistent storage as defined by the OEM.

WriteRegistryToOEM

Transfers registry data to persistent storage. It is called by the operating system.

See Also

Reference

OAL Functions