Kernel Functions (Windows CE 5.0)
The following table shows the kernel functions with a description of the purpose of each and what level modules, application or kernel, can call each function.
Programming element | Kernel-mode only | Description |
---|---|---|
AllocPhysMem | Yes | This function allocates physically contiguous memory. |
CacheRangeFlush | Yes | This function is called by device drivers and applications to flush a specific range of the cache. |
CacheSync | Yes | This function flushes the cache. |
CeGetCacheInfo | Yes | This function retrieves the cache information. |
CeGetCurrentTrust | Yes | This function retrieves the assigned trust level of a process. |
CeGetRandomSeed | Yes | This function returns a random seed that can be used in an algorithm. |
CeSetMemoryAttributes | Yes | This function provides device drivers and applications a way to use memory attributes supported on some hardware platforms that the kernel does not support by default. |
CeSetPowerOnEvent | Yes | Power handlers call this function to signal events during suspend/resume. |
CeVirtualSharedAlloc | Yes | This function is used to allocate read/write memory to the caller and to allocate read-only memory to other processes. |
CreateStaticMapping | Yes | This function creates a static virtual memory address that maps to a physical address. |
CreateWatchDogTimer | Yes | This function creates a watchdog timer. |
DrWatsonClear | Yes | This function clears the Windows CE Error Reporting dump storage by zeroing the Windows CE Error Reporting dump area. |
DrWatsonFlush | Yes | This function flushes the Windows CE Error Reporting dump data to the underlining storage. |
DrWatsonGetSize | Yes | This function retrieves the size of the Windows CE Error Reporting dump area. |
DrWatsonReadData | Yes | This function reads data from the Windows CE Error Reporting dump area. |
DrWatsonWriteData | Yes | This function writes data to the Windows CE Error Reporting dump area. |
ForcePageout | No | This function forces the operating system to swap out all discardable pages from memory. |
FreePhysMem | Yes | This function is called to release physical memory back to the system. |
GetCallerProcess | Yes | This function returns a handle for the caller process. |
GetCurrentPermissions | Yes | This function obtains the kernel's internal thread permissions bitmask for the current thread. |
GetEPC | Yes | This function is implemented by the kernel and called by the profiler interrupt service routine (ISR) to get the interrupted program counter, which is the exception program counter (EPC). |
GetEventData | No | This function retrieves data associated with an event. |
GetOwnerProcess | Yes | This function returns the process handle of the current thread owner. |
GetStdioPathW | Yes | This function retrieves the name of the device driver being used for a standard input, output, or error output operation. |
GetSystemMemoryDivision | Yes | This function retrieves information from the kernel pertaining to object store and system memory.
|
GetThreadCallStack | No | This function retrieves the call stack of an arbitrary thread in the system. |
HookInterrupt | Yes | This function registers an interrupt service routine (ISR) with the kernel specifying a particular hardware interrupt indicated by its interrupt request (IRQ) line value. |
InterruptDisable | Yes | This function disables a hardware interrupt as specified by its interrupt identifier. |
InterruptDone | Yes | This function signals to the kernel that interrupt processing has been completed. |
InterruptInitialize | Yes | This function initializes a hardware interrupt with the kernel. This initialization allows the device driver to register an event and enable the interrupt. |
InterruptMask | Yes | This function masks hardware interrupts. |
INTERRUPTS_ENABLE | Yes | This function enables and disables all interrupts based on the argument and returns the current state. |
INTERRUPTS_OFF | Yes | This function disables all interrupts. |
INTERRUPTS_ON | Yes | This function enables all interrupts. |
IsAPIReady | Yes | This function indicates whether the specified application programming interface (API) set has been registered. |
IsNamedEventSignaled | No | This function checks if a named event is signaled. |
ISRHandler | Yes | This function prototype is used by an OEM/IHV to create and export an installable interrupt handler. |
KCompareFileTime | Yes | This function compares two file time values for equality. File time is the specific date and time at which a specified file was created, last accessed, or last written. |
KernelIoControl | Yes | This function provides the kernel with a generic I/O control for carrying out I/O operations. |
KernelLibIoControl | Yes | This function is called from a driver to communicate with an interrupt handler. |
KFileTimeToSystemTime | Yes | This function converts file time to the format of system time. |
KSystemTimeToFileTime | Yes | This function converts system time to file time format. |
LoadDriver | Yes | This function maps the specified executable module into the address space of the calling process. |
LockPages | Yes | This function locks into memory the specified region of the virtual address space of the process, ensuring that subsequent access to the region does not incur a page fault. |
MapCallerPtr | Yes | This function validates whether a region of memory pointed to by the ptr parameter is valid with respect to the caller process. |
MapPtrToProcess | Yes | This function maps an unmapped pointer to a process. |
OpenWatchDogTimer | Yes | This function opens an existing watchdog timer. |
PageOutModule | No | This function swaps out all the pages of a process or DLL that are available for paging. |
ProfileCaptureStatus | Yes | This function is used by applications to query the OEM profiler after it is running. |
ProfilerHit | Yes | This function is implemented in the kernel and is called by the profiler ISR to record a profiling sample. |
ProfilerHitEx | Yes | This function is implemented in the kernel, and is called by the OAL code generating interrupts. ProfilerHitEx is called by the profiler ISR to record a profiling sample. |
ProfileStart | Yes | This function starts the Windows CE instrumented kernel or Monte Carlo profiling. |
ProfileStartEx | Yes | This function is used by applications to start the profiler. |
ProfileStop | Yes | This function stops the Windows CE instrumented kernel or Monte Carlo profiling and displays a profile report on a debug terminal. |
RefreshWatchDogTimer | Yes | This function refreshes a watchdog timer. |
SetDbgZone | Yes | This function is used to set or query zones for either a process or a module, but not both. |
SetEventData | No | This function associates data with an event handle. |
SetInterruptEvent | Yes | This function allows a device driver to cause an artificial interrupt event. |
SetJITDebuggerPath | Yes | This function allows you to change the default JIT debugger dynamically. SetJITDebuggerPath can only be called by a trusted process. |
SetKernelCommDev | Yes | This function is obsolete and should not be used. |
SetKMode | Yes | This function allows you to switch between kernel and user modes. |
SetProcPermissions | Yes | This function sets the internal permissions bitmask for the current thread, thereby enabling access to the address space of another process. |
SetStdioPathW | Yes | This function sets the standard input, output, or error output destination path. |
SetStoreQueueBase | Yes | This function takes a 1-MB–aligned physical page and returns a pointer to the store queue. |
SetSystemMemoryDivision | Yes | This function sets the specified number of pages for the object store.
|
SleepTillTick | Yes | This function suspends the execution of the current thread until the next system tick. |
StartWatchDogTimer | Yes | This function starts a watchdog timer. |
StopWatchDogTimer | Yes | This function stops a watchdog timer. |
UnhookInterrupt | Yes | This function deregisters an ISR with a specific hardware interrupt. |
UnlockPages | Yes | This function unlocks a specified range of pages in the virtual address space of a process, enabling the system to swap the pages out if necessary. |
UnMapPtr | Yes | This function unmaps a memory pointer that was previously mapped using MapPtrToProcess. |
VirtualCopy | Yes | This function binds a specific physical memory range to a statically mapped virtual address. |
VirtualSetAttributes | Yes | This function enables driver developers to change the per-page attributes for a range of virtual memory, which is usually copied from a physical location not known to the kernel. |
See Also
Send Feedback on this topic to the authors