Can any one explain about the MDD and PDD concepts in WinCE?

My questions are...

1) Which one interacts with the hardware MDD or PDD?

2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?

3) Y I am confused with these concpepts is because in USBHID keyboard
driver the PDD retrieves the scan codes (interact with H/W) from keyboard
hardware and MDD sends those to GWES module.

But whereas in Graphics i.e. in display driver the PDD interacts with GWES
(like receives rectangle bounds for an ellipse) and gives them to MDD (i.e
Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the display
device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered as
MDD and DDI is considered as PDD.

4) According to my understanding PDD is a driver that interacts with H/W. Is
this correct? If not please correct me.

Many Thanks in advance,
Ram.P

Re: MDD and PDD concepts in WinCE by Luca

Luca
Wed Apr 09 00:11:53 PDT 2008

MDD is the higer layer of a stream interface driver, while the PDD is the
lower one. The MDD is usually
provided by MS and it defines the interface for the PDD. The developer will
typically write the PDD layer
which is the one which is HW specific, since it interacts with the HW
itself.
Display drivers are not stream interface drivers and have a different
design, somewhat derivd from the desktop:
they use GDI functions to interact with GWES, while GWES uses DDI functions
to interact with the display driver.
GPE.lib provided by MS implements the DDI I/F using a virtual class ( GPE )
from which you can inherit your own class implementing your specific display
routines.

To take benefit from GPE class your device must support a flat frame buffer.


--

Luca Calligaris
www.eurotech.it

"Ram.P" <RamP@discussions.microsoft.com> ha scritto nel messaggio
news:31FC930A-0E3E-46AC-85D3-047A2E2F9718@microsoft.com...
> Can any one explain about the MDD and PDD concepts in WinCE?
>
> My questions are...
>
> 1) Which one interacts with the hardware MDD or PDD?
>
> 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
>
> 3) Y I am confused with these concpepts is because in USBHID keyboard
> driver the PDD retrieves the scan codes (interact with H/W) from
> keyboard
> hardware and MDD sends those to GWES module.
>
> But whereas in Graphics i.e. in display driver the PDD interacts with GWES
> (like receives rectangle bounds for an ellipse) and gives them to MDD (i.e
> Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
> display
> device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
> as
> MDD and DDI is considered as PDD.
>
> 4) According to my understanding PDD is a driver that interacts with H/W.
> Is
> this correct? If not please correct me.
>
> Many Thanks in advance,
> Ram.P



Re: MDD and PDD concepts in WinCE by Steve

Steve
Wed Apr 09 08:38:04 PDT 2008

MDD is a staic library that contains a chunk of common code for a specific
type of device driver. (e.g. character buffer management and control signal
handshaking etc... for a serial port driver) the PDD is what deals with the
hardware directly.


> 1) Which one interacts with the hardware MDD or PDD?
Genrally the PDD is the one that deals directly with the hardware
>
> 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
>
Usually both do.

> 3) Y I am confused with these concpepts is because in USBHID keyboard
> driver the PDD retrieves the scan codes (interact with H/W) from
> keyboard
> hardware and MDD sends those to GWES module.
That's a stypical structuring of a keyboard driver.

>
> But whereas in Graphics i.e. in display driver the PDD interacts with GWES
> (like receives rectangle bounds for an ellipse) and gives them to MDD (i.e
> Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
> display
> device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
> as
> MDD and DDI is considered as PDD.
>
The MDD/PDD model really doesn't apply to display drivers. If you really
wanted to apply it then the MDD would be the GPE classes and the PDD would
be your class derived from them.

> 4) According to my understanding PDD is a driver that interacts with H/W.
> Is
> this correct? If not please correct me.


-Steve Maillet


Re: MDD and PDD concepts in WinCE by Dean

Dean
Wed Apr 09 11:05:23 PDT 2008

> MDD is a staic library that contains a chunk of common code for a specific
> type of device driver. (e.g. character buffer management and control
> signal handshaking etc... for a serial port driver) the PDD is what deals
> with the hardware directly.

Except for the new flash driver in CE6 R2. The "MDD" and "PDD" in that
architecture are now separate dlls. Poor choice of names, IMHO...

--
Dean Ramsier - eMVP
BSQUARE Corporation


"Steve Maillet [MSFT]" <smaillet_at_microsoft_com@nospam.com> wrote in
message news:%23nLl0elmIHA.4684@TK2MSFTNGP06.phx.gbl...
> MDD is a staic library that contains a chunk of common code for a specific
> type of device driver. (e.g. character buffer management and control
> signal handshaking etc... for a serial port driver) the PDD is what deals
> with the hardware directly.
>
>
>> 1) Which one interacts with the hardware MDD or PDD?
> Genrally the PDD is the one that deals directly with the hardware
>>
>> 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
>>
> Usually both do.
>
>> 3) Y I am confused with these concpepts is because in USBHID keyboard
>> driver the PDD retrieves the scan codes (interact with H/W) from
>> keyboard
>> hardware and MDD sends those to GWES module.
> That's a stypical structuring of a keyboard driver.
>
>>
>> But whereas in Graphics i.e. in display driver the PDD interacts with
>> GWES
>> (like receives rectangle bounds for an ellipse) and gives them to MDD
>> (i.e
>> Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
>> display
>> device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
>> as
>> MDD and DDI is considered as PDD.
>>
> The MDD/PDD model really doesn't apply to display drivers. If you really
> wanted to apply it then the MDD would be the GPE classes and the PDD would
> be your class derived from them.
>
>> 4) According to my understanding PDD is a driver that interacts with H/W.
>> Is
>> this correct? If not please correct me.
>
>
> -Steve Maillet



Re: MDD and PDD concepts in WinCE by RamP

RamP
Wed Apr 09 20:31:00 PDT 2008

Many Thanks for the reply Luca Calligaris

Ram.P

"Luca Calligaris" wrote:

> MDD is the higer layer of a stream interface driver, while the PDD is the
> lower one. The MDD is usually
> provided by MS and it defines the interface for the PDD. The developer will
> typically write the PDD layer
> which is the one which is HW specific, since it interacts with the HW
> itself.
> Display drivers are not stream interface drivers and have a different
> design, somewhat derivd from the desktop:
> they use GDI functions to interact with GWES, while GWES uses DDI functions
> to interact with the display driver.
> GPE.lib provided by MS implements the DDI I/F using a virtual class ( GPE )
> from which you can inherit your own class implementing your specific display
> routines.
>
> To take benefit from GPE class your device must support a flat frame buffer.
>
>
> --
>
> Luca Calligaris
> www.eurotech.it
>
> "Ram.P" <RamP@discussions.microsoft.com> ha scritto nel messaggio
> news:31FC930A-0E3E-46AC-85D3-047A2E2F9718@microsoft.com...
> > Can any one explain about the MDD and PDD concepts in WinCE?
> >
> > My questions are...
> >
> > 1) Which one interacts with the hardware MDD or PDD?
> >
> > 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
> >
> > 3) Y I am confused with these concpepts is because in USBHID keyboard
> > driver the PDD retrieves the scan codes (interact with H/W) from
> > keyboard
> > hardware and MDD sends those to GWES module.
> >
> > But whereas in Graphics i.e. in display driver the PDD interacts with GWES
> > (like receives rectangle bounds for an ellipse) and gives them to MDD (i.e
> > Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
> > display
> > device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
> > as
> > MDD and DDI is considered as PDD.
> >
> > 4) According to my understanding PDD is a driver that interacts with H/W.
> > Is
> > this correct? If not please correct me.
> >
> > Many Thanks in advance,
> > Ram.P
>
>
>

Re: MDD and PDD concepts in WinCE by RamP

RamP
Wed Apr 09 20:33:00 PDT 2008

Thanks for the fast reply Dean Ramsier.

Ram.P

"Dean Ramsier" wrote:

> > MDD is a staic library that contains a chunk of common code for a specific
> > type of device driver. (e.g. character buffer management and control
> > signal handshaking etc... for a serial port driver) the PDD is what deals
> > with the hardware directly.
>
> Except for the new flash driver in CE6 R2. The "MDD" and "PDD" in that
> architecture are now separate dlls. Poor choice of names, IMHO...
>
> --
> Dean Ramsier - eMVP
> BSQUARE Corporation
>
>
> "Steve Maillet [MSFT]" <smaillet_at_microsoft_com@nospam.com> wrote in
> message news:%23nLl0elmIHA.4684@TK2MSFTNGP06.phx.gbl...
> > MDD is a staic library that contains a chunk of common code for a specific
> > type of device driver. (e.g. character buffer management and control
> > signal handshaking etc... for a serial port driver) the PDD is what deals
> > with the hardware directly.
> >
> >
> >> 1) Which one interacts with the hardware MDD or PDD?
> > Genrally the PDD is the one that deals directly with the hardware
> >>
> >> 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
> >>
> > Usually both do.
> >
> >> 3) Y I am confused with these concpepts is because in USBHID keyboard
> >> driver the PDD retrieves the scan codes (interact with H/W) from
> >> keyboard
> >> hardware and MDD sends those to GWES module.
> > That's a stypical structuring of a keyboard driver.
> >
> >>
> >> But whereas in Graphics i.e. in display driver the PDD interacts with
> >> GWES
> >> (like receives rectangle bounds for an ellipse) and gives them to MDD
> >> (i.e
> >> Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
> >> display
> >> device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
> >> as
> >> MDD and DDI is considered as PDD.
> >>
> > The MDD/PDD model really doesn't apply to display drivers. If you really
> > wanted to apply it then the MDD would be the GPE classes and the PDD would
> > be your class derived from them.
> >
> >> 4) According to my understanding PDD is a driver that interacts with H/W.
> >> Is
> >> this correct? If not please correct me.
> >
> >
> > -Steve Maillet
>
>
>

Re: MDD and PDD concepts in WinCE by RamP

RamP
Wed Apr 09 20:32:01 PDT 2008

Many Thanks for the reply Steve.

Ram.P

"Steve Maillet [MSFT]" wrote:

> MDD is a staic library that contains a chunk of common code for a specific
> type of device driver. (e.g. character buffer management and control signal
> handshaking etc... for a serial port driver) the PDD is what deals with the
> hardware directly.
>
>
> > 1) Which one interacts with the hardware MDD or PDD?
> Genrally the PDD is the one that deals directly with the hardware
> >
> > 2) Which one interacts with the GWES/SHELL/NK.exe, MDD or PDD?
> >
> Usually both do.
>
> > 3) Y I am confused with these concpepts is because in USBHID keyboard
> > driver the PDD retrieves the scan codes (interact with H/W) from
> > keyboard
> > hardware and MDD sends those to GWES module.
> That's a stypical structuring of a keyboard driver.
>
> >
> > But whereas in Graphics i.e. in display driver the PDD interacts with GWES
> > (like receives rectangle bounds for an ellipse) and gives them to MDD (i.e
> > Graphics Primitve Engine GPE). MDD i.e. GPE draws the ellipse on the
> > display
> > device (i.e GPE is interacting with H/W). Here in MSDN GPE is considered
> > as
> > MDD and DDI is considered as PDD.
> >
> The MDD/PDD model really doesn't apply to display drivers. If you really
> wanted to apply it then the MDD would be the GPE classes and the PDD would
> be your class derived from them.
>
> > 4) According to my understanding PDD is a driver that interacts with H/W.
> > Is
> > this correct? If not please correct me.
>
>
> -Steve Maillet
>
>