Core OS Reference (Windows CE 5.0)
Core OS services give applications access to the resources of the computer and the features of the underlying OS, such as memory, file systems, devices, processes, and threads.
An application uses these services to manage and monitor the resources it needs to complete its work.
Applications can share code or information with other applications.
Networking functions read from and write to communications ports as well as control the operating modes of these ports.
Applications handle special conditions during execution. For example, they can handle errors, log events, and handle exceptions.
Applications can also use special functions to debug code and improve its performance. For example, the debugging functions permit single-step control of the execution of other processes, and the performance monitoring functions provide detailed information on process execution.
In This Section
- CeLog Event Logging Reference
- The event tracking subsystem is implemented as a library that can be loaded dynamically into the kernel.
Although no specific kernel settings are required to use it, the profiling kernel provides more event tracking data than the kernel would without profiling.
Events that are omitted on the nonprofiling kernel are interrupts, kernel calls, and translation look-aside buffer (TLB) misses.
To take advantage of all event tracking data provided by the kernel, use the CeLog functions, structures, global variables, zones, and event identifiers.
- Debugging Reference
- Use the debugging functions and structures to create a basic, event-driven debugger.
Event-driven means that the debugger is notified every time specific events occur in the process being debugged.
Notification enables the debugger to take appropriate action in response to the events.
- DLL Reference
- Dynamic linking allows a module to include only the information the system needs at load time or run time to locate the code for an exported dynamic-link library (DLL) function.
Dynamic linking differs from static linking, in which the linker copies a library function's code into each module that calls it.
Use the DLL functions and structures to perform operations such as the following:
- Retrieving information about the specified module
- Disabling notifications for the DLL
- Mapping DLL files
- Error Values
- Use the error functions to receive and display error information for your application.
- Exception Reference
- Use to create consistently more robust and more reliable applications.
- Fiber Reference
- A fiber is a unit of execution that must be manually scheduled by the application.
Fibers run in the context of the threads that schedule them. Each thread can schedule multiple fibers.
In general, fibers do not provide advantages over a well-designed multithreaded application. However, using fibers can make it easier to port applications that were designed to schedule their own threads.
Use the fiber functions to perform operations such as scheduling a fiber, allocating a fiber object, and obtaining information about a fiber.
- Memory Management Reference
- The Windows CE kernel uses a paged virtual-memory system to manage and allocate program memory.
Use the kernel memory management functions and structures to perform operations such as the following:
- Allocating and de-allocating memory
- Obtaining information about the heap or physical and virtual memory of the system
- Changing memory properties
Memory properties include the size of a specified local memory object or the access protection on a region of committed pages in the virtual address space.
- Message Queue Point-to-Point Reference
- The message queue must be designed to use as little memory as possible to be efficient.
If there are many readers, each reader only reads the current message at the head of the queue when they make a read request.
The CreateMsgQueue function enables the specification of a remote queue.
Use the message queue functions and structures to perform operations such as the following:
- Opening and closing a message queue
- Returning information about a message queue
- Reading a message from a message queue or writing a message to a message queue
- Network Address Translation Reference
- Use the Network Address Translation (NAT) functions and structures to facilitate communication between a NAT editor and an NAT driver.
This allows any device running NAT to function as a gateway between the Internet and a LAN.
- Process and Thread Reference
- All applications based on Windows CE consist of a process and one or more threads:
- A process is a single instance of a running application.
- A thread is the basic unit that the Windows CE OS allocates processor time to. A thread can execute any part of the process code, including parts that are being executed by another thread.
Use the process and thread functions and structures to perform operations such as creating and terminating a process or thread and retrieving information about a process or thread.
- Serial Communications Reference
- Windows CE supports standard Windows-based desktop functions for serial communications.
Use these functions and structures to do the following:
- Open, close, and manipulate serial ports
- Transmit and receive data
- Manage the connection
- Strings Reference
- Use the strings functions to give applications the means to do the following:
- Copy, compare, sort, format, and convert character strings
- Determine the type of each character in a string
All string functions support the single-byte, double-byte, and Unicode character sets if these character sets are supported by the OS the application is run on.
- Synchronization Reference
- Windows CE provides several synchronization objects such as the following:
- Critical sections
Use the synchronization functions to synchronize a thread's actions with those of another thread.
- System Management Reference
- Uses messages to notify applications of device changes and power changes.
Device messages notify applications of device change events; power messages notify applications of power management events.
Applications and drivers can also define and use custom messages to enable notification of other types of events.
- Time Reference
- A real-time operating system (RTOS) is one element of a complete real-time system, which is a set of all system elements (hardware, OS, and applications) needed to meet system requirements.
A real-time application is an application designed to manage time-critical systems, such as the following:
- Manufacturing process controls
- High-speed data acquisition devices
- Telecommunications switching equipment
The unique characteristic of a real-time application is that it not only provides the correct response, but it also responds within a specified time frame.
Use the time functions and structures to perform operations such as retrieving the date and time and setting the date and time.
- ToolHelp Reference
- The ToolHelp API is a set of debugger APIs for ToolHelp.
Use the ToolHelp functions and structures to perform operations such as the following:
- Retrieving information about the first and next heap allocated by a process
- Retrieving information about the first and next module associated with a process
- Taking a snapshot of the heaps, modules, and threads used by processes
- Unicode Reference
- Use the Unicode functions, structures, and structures to create character-based data that can be transferred to and used on any OS, including those that do not support Unicode.
- Core OS Application Development
- Provides guide information for application developers on how they can use the Windows CE core OS functionality in their applications.
- Core OS Registry Settings
- Provides a list of core OS registry settings required to configure your OS design or applications to enable core OS functionality.
Send Feedback on this topic to the authors