Adaptation/GUID-7DDF052C-2520-428D-932D-BDB476344575.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-7DDF052C-2520-428D-932D-BDB476344575" xml:lang="en"><title>Generated
Events</title><shortdesc>This document describes how kernel events are used in communication
with the kernel.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-E539DF2B-239A-4B8F-B053-EE2041EA439E">     <p>Drives
can communicate with the Window Server, and through that to user programs,
using events. </p> <p> <xref href="GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D.dita#GUID-C6946ECB-775F-3EC2-A56F-78F25B9FBE3D/GUID-81C82FED-0E26-351A-901E-806843C808FE"><apiname> Kern::AddEvent()</apiname></xref> adds an event
to the kernel event queue. This is used typically in drivers such as the keyboard
driver, which raises key events. </p> <codeblock id="GUID-EC49015D-A9BF-505B-95A3-A2630B36602B" xml:space="preserve">TRawEvent event;
event.Set(TRawEvent::EKeyDown, EStdKeyBackspace);
Kern::AddEvent(event);</codeblock> <p>The kernel event queue maintains a circular
buffer of <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> objects allocated at system initialization.
The Windows Server calls <xref href="GUID-9EF04FB9-B36F-3A6F-AF3F-F2238BD181E9.dita#GUID-9EF04FB9-B36F-3A6F-AF3F-F2238BD181E9/GUID-2B008E10-844A-3081-A4CB-B64583E9DBFC"><apiname>UserSvr::CaptureEventHook()</apiname></xref> to
register itself to receive such events. The Kernel does not permit any process
other than the Windows Server to register to receive events. </p>        
  </section>
</conbody></concept>