Tech Support > Microsoft Windows > Drivers > Why doesn't the drvier call DrvTextOut?
Why doesn't the drvier call DrvTextOut?
Posted by Conan on September 9th, 2005


Hi,
I am tracking msplot sample in the DDK. I found out the DrvTextOut have
never been called by the driver.Then I modified the DEVINFO's flGraphicsCaps
and GDIINFO's flTextCaps use follow codes:

pDevInfo->flGraphicsCaps = GCAPS_ALTERNATEFILL |
GCAPS_HORIZSTRIKE |
GCAPS_VERTSTRIKE |
GCAPS_VECTORFONT |
GCAPS_ARBRUSHOPAQUE |
GCAPS_ARBRUSHTEXT |
GCAPS_BEZIERS |
GCAPS_FORCEDITHER |
GCAPS_GEOMETRICWIDE |
GCAPS_HIGHRESTEXT |
GCAPS_GRAY16 |
GCAPS_OPAQUERECT |
GCAPS_WINDINGFILL;
..........

pGDIInfo->flTextCaps = TC_OP_CHARACTER | TC_OP_STROKE | TC_CP_STROKE |
TC_CR_90 | TC_CR_ANY | TC_SF_X_YINDEP | TC_SA_DOUBLE | TC_SA_INTEGER
|TC_SA_CONTIN | TC_EA_DOUBLE | TC_IA_ABLE | TC_UA_ABLE | TC_SO_ABLE |
TC_RA_ABLE | TC_VA_ABLE | TC_SCROLLBLT;

Then I tracked it again,Unfortunate,the driver still don't call
DrvTextOut.The driver also need to be modified? Where?
Welcome to every suggestion.

--
Conan Wu
Email:aqua_aqua@21cn.com

Posted by Tim Roberts on September 10th, 2005


"Conan" <Conan@discussions.microsoft.com> wrote:
How do you know? How are you doing your debugging? What app are you using
for your testing?
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Posted by Conan Wu on September 10th, 2005


HI Tim,
Thanks for your reply.
I used DS.net to debug thw driver,because the driver is user-mode.
About the test project,it is a simple MFC application.The follow show is its code.

void CTestVPrintView::OnDraw(CDC* pDC)
{
CString strText("Hello!Worrld");
CSize szText = pDC->GetTextExtent(strText);

CRect rcTxt(CPoint(300,200),szText);
pDC->TextOut(300,200,strText);
}

Conan Wu
aqua_aqua@21cn.com

-----------------------------------------
In Fri, 09 Sep 2005 22:32:12 -0700 £¬Tim Roberts wrote£º
-----------------------------------------


Posted by Tim Roberts on September 12th, 2005


"Conan Wu" <aqua_aqua@21cn.com> wrote:
Yes, but are you clear that the printer driver runs in a separate process?
If you are running your test app in VS.Net debugger, you will never see
breakpoints within your printer driver.
--
- Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.

Posted by Conan Wu on September 12th, 2005


Hi,Tim
Thanks for your warmhearted.

The problem have been solved,The kwy of the problem is return value of DrvGetGlyphMode.
It returns FO_GLYPHBIT or FO_HGLYPHS,the drvTextOut will be called by driver.
But I don't know the difference between return FO_GLYPHBIT and FO_HGLYPHS.An

ybody can tell me?

Conan Wu
aqua_aqua@21cn.com

-----------------------------------------
In Sun, 11 Sep 2005 20:41:01 -0700 £¬Tim Roberts wrote£º
-----------------------------------------



Similar Posts