WDK for Windows CE

hi
i have experience in WDK filter driver for 6 month but now i try to develop device driver for windows CE .
what is difference driver development in windows desktop(xp,7,8…) and windows CE ??

Windows CE is a different operating system that shares it roots with Windows. So, you will find most things very similar.

Peter
OSR
@OSRDrivers

Completely different.
Windows CE “Stream” drivers use a 12-function interface to its drivers (XXX_Init, XXX_PreDeinit, XXX_Deinit, XXX_Open, XXX_Preclose, XXX_Close, XXX_Read, XXX_Write, XXX_Seek, XXX_IOControl, XXX_PowerUp, XXX_PowerDown) while desktop Windows uses essentially an array of function pointers. After that, the differences increase.

Greg

xxxxx@gmail.com wrote:

From: xxxxx@gmail.com
To: “Windows System Software Devs Interest List”
Subject: [ntdev] WDK for Windows CE
Date: Wed, 22 Apr 2015 08:44:57 -0400 (EDT)

hi
i have experience in WDK filter driver for 6 month but now i try to develop device driver for windows CE .
what is difference driver development in windows desktop(xp,7,8…) and windows CE ??


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

I stand corrected. That’s what I get for answering a question by jumping to conclusions.

My exposure has been to NDIS on CE, which (while older) is almost the same.

Thanks for the correction Mr. Dyess.

Peter
OSR
@OSRDrivers

Yes, NDIS is similar between the two, by design. I don’t recall if it was that way initially. Lack of driver support, especially for KITL (kernel debugging) is a sore spot in Windows CE. I had to actually write a KITL driver for a VERY popular Realtek ethernet NIC because the silicon vendor and MS refused to spend any resources to create it. KITL drivers are VERY different from NDIS drivers probably because KITL has to be able to run from the bootloader stage for downloading the OS and must be very low overhead/latency.

Desktop Windows is a quasi-object-oriented, packet-based (IRP) interface with every function taking an IRP as an argument. The Windows CE/WEC interface is more like an API set. There are little to no frameworks for WinCE driver development. There’s very little need for it too.

Glad I could contribute to this list for a change, Mr Peter. I have developed platform-level code for Windows CE since 1999. The last time I did some desktop Windows kernel/driver work was about 5 years ago. I am almost exclusively bare metal and WinCE/WEC (and some Linux/Android) since then. I continue to follow this email list now more out of curiosity about how the other 70% lives.

Greg

> My exposure has been to NDIS on CE, which (while older) is almost the same.

My too.

The same.

Just NDIS IM is a DLL in NDIS.EXE (or was it DRIVERS.EXE?) process, not a .SYS in the kernel.

Means of debugging are pathetic. I was using Platform Builder with an emulator to debug NDIS IM (PB can attach to DRIVERS.EXE), and only tested the debugged code on a real device.


Maxim S. Shatskih
Microsoft MVP on File System And Storage
xxxxx@storagecraft.com
http://www.storagecraft.com