ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

kbdclass.h
Go to the documentation of this file.
00001 #include <ntifs.h>
00002 #include <kbdmou.h>
00003 #include <ntddkbd.h>
00004 #include <stdio.h>
00005 #include <pseh/pseh2.h>
00006 
00007 #include <debug.h>
00008 
00009 #define MAX_PATH 260
00010 
00011 #define MIN(a, b) ((a) < (b) ? (a) : (b))
00012 
00013 #define CLASS_TAG 'CdbK'
00014 #define DPFLTR_CLASS_NAME_ID DPFLTR_KBDCLASS_ID
00015 
00016 typedef enum
00017 {
00018     dsStopped,
00019     dsStarted,
00020     dsPaused,
00021     dsRemoved,
00022     dsSurpriseRemoved
00023 } PORT_DEVICE_STATE;
00024 
00025 typedef struct _CLASS_DRIVER_EXTENSION
00026 {
00027     UNICODE_STRING RegistryPath;
00028 
00029     /* Registry settings */
00030     ULONG ConnectMultiplePorts;
00031     ULONG DataQueueSize;
00032     UNICODE_STRING DeviceBaseName;
00033 
00034     PDEVICE_OBJECT MainClassDeviceObject;
00035 } CLASS_DRIVER_EXTENSION, *PCLASS_DRIVER_EXTENSION;
00036 
00037 typedef struct _COMMON_DEVICE_EXTENSION
00038 {
00039     BOOLEAN IsClassDO;
00040 } COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION;
00041 
00042 typedef struct _PORT_DEVICE_EXTENSION
00043 {
00044     COMMON_DEVICE_EXTENSION Common;
00045 
00046     LIST_ENTRY ListEntry;
00047     PDEVICE_OBJECT DeviceObject;
00048     PORT_DEVICE_STATE PnpState;
00049     PDEVICE_OBJECT LowerDevice;
00050     PDEVICE_OBJECT ClassDO;
00051     HANDLE FileHandle;
00052     UNICODE_STRING InterfaceName;
00053 } PORT_DEVICE_EXTENSION, *PPORT_DEVICE_EXTENSION;
00054 
00055 typedef struct _CLASS_DEVICE_EXTENSION
00056 {
00057     COMMON_DEVICE_EXTENSION Common;
00058 
00059     PCLASS_DRIVER_EXTENSION DriverExtension;
00060 
00061     LIST_ENTRY ListHead;
00062     KSPIN_LOCK ListSpinLock;
00063     KSPIN_LOCK SpinLock;
00064     PIRP PendingIrp;
00065     SIZE_T InputCount;
00066     PKEYBOARD_INPUT_DATA PortData;
00067     LPCWSTR DeviceName;
00068 } CLASS_DEVICE_EXTENSION, *PCLASS_DEVICE_EXTENSION;
00069 
00070 /* misc.c */
00071 
00072 NTSTATUS
00073 ForwardIrpAndWait(
00074     IN PDEVICE_OBJECT DeviceObject,
00075     IN PIRP Irp);
00076 
00077 DRIVER_DISPATCH ForwardIrpAndForget;
00078 
00079 NTSTATUS
00080 DuplicateUnicodeString(
00081     IN ULONG Flags,
00082     IN PCUNICODE_STRING SourceString,
00083     OUT PUNICODE_STRING DestinationString);

Generated on Sun May 27 2012 04:27:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.