Книга: Microsoft Windows Embedded CE 6.0 Exam Preparation Kit

Lesson 6: Marshaling Data across Boundaries

In Windows Embedded CE 6.0, each process has its own separate virtual memory space and memory context. Accordingly, marshaling data from one process to another requires either a copying process or a mapping of physical memory sections. Windows Embedded CE 6.0 handles most of the details and provides system functions, such as OALPAtoVA and MmMapIoSpace, to map physical memory addresses to virtual memory addresses in a relatively straightforward way. However, driver developers must understand the details of data marshaling to ensure a reliable and secure system. It is imperative to validate embedded pointers and properly handle asynchronous buffer access so that a user application cannot exploit a kernel- mode driver to manipulate memory regions that the application should not be able to access. Poorly implemented kernel-mode drivers can open a back door for malicious applications to take over the entire system.

After this lesson, you will be able to:

? Allocate and use buffers in device drivers.

? Use embedded pointers in an application.

? Verify the validity of embedded pointers in a device driver.

Estimated lesson time: 30 minutes.

Оглавление книги


Генерация: 0.055. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз