Share via


BSP Data Structures (Compact 2013)

10/16/2014

In earlier versions of Windows Embedded Compact, the kernel, OEM adaptation layer (OAL), and Kernel Independent Transport Layer (KITL) were built into a single executable. This enabled other components to be referenced simply by doing an extern declaration. Now, you can no longer use an extern declaration because the kernel, OAL, and KITL are separated. In the kernel, you can no longer use extern DWORD varX to access a variable in the OAL.

To access shared information, you can use the following structures to share information between the kernel and the OAL.

Programming Element

Description

OEMGLOBAL

This structure defines all the functions that the OAL must implement for BSP migration, and all the variables that it needs to define.

NKGLOBAL

This structure defines all the functions and variables that the kernel exports. The OAL can only access kernel functions using this global structure.

On kernel startup, the OS finds the OAL entry point and then calls the entry function to exchange the pointer with the global block. Once this step is done, the kernel has all the information it needs from the OAL and the OAL then has access to all the exports from the kernel.

See Also

Reference

OEM Adaptation Layer Reference