What is the IPC Mechanism for Device Drivers?
A device driver is just a DLL so regular IPC mechanisms can be used (that is, messages, loopback, synchronization objects, and shared memory). For example, to send data to the keyboard driver, the embedded customer could use keybd_event or, if only keystrokes are required, use PostKeybdMessage. Drivers can also open each other (that is, one driver can do a CreateFile() of another driver and communicate via DeviceIOControl() or ReadFile()/WriteFile()).