Windows Vista Tips

Windows Vista Tips > Windows Vista Tips > Windows Vista Support > DrvDocumentEvent problem

Reply
Thread Tools Display Modes

DrvDocumentEvent problem

 
 
Junior Member
Join Date: Jul 2009
Posts: 1

 
      07-21-2009
Hi,

I'm writing a printer driver for windows. I need to hook to Document Events. To my understanding, i have to implement the function DrvDocumentEvent() in my Printer Interface DLL. However, I only get iEsc values 1 and 14 invoked.

Here's the code I'm using...

rc = DOCUMENTEVENT_SUCCESS;
switch(iEsc)
{
case DOCUMENTEVENT_CREATEDCPRE:
{
LOG("DrvDocumentEvent(DOCUMENTEVENT_CREATEDCPRE)") ;
}
break;

case DOCUMENTEVENT_STARTDOCPRE:
{
LOG("DrvDocumentEvent(DOCUMENTEVENT_STARTDOCPRE)") ;

//... Some processing
}
break;

case DOCUMENTEVENT_ENDPAGE:
{
LOG("DrvDocumentEvent(DOCUMENTEVENT_ENDPAGE)");

//... Some processing
}
break;


case DOCUMENTEVENT_DELETEDC:
{
LOG("DrvDocumentEvent(DOCUMENTEVENT_DELETEDC)");
}
break;

case DOCUMENTEVENT_CREATEDCPOST:
LOG("DrvDocumentEvent(DOCUMENTEVENT_CREATEDCPOST)" );
break;
case DOCUMENTEVENT_RESETDCPRE:
LOG("DrvDocumentEvent(DOCUMENTEVENT_RESETDCPRE)");
break;
case DOCUMENTEVENT_RESETDCPOST:
LOG("DrvDocumentEvent(DOCUMENTEVENT_RESETDCPOST)") ;
break;
case DOCUMENTEVENT_STARTDOCPOST:
LOG("DrvDocumentEvent(DOCUMENTEVENT_STARTDOCPOST)" );
break;
case DOCUMENTEVENT_STARTPAGE:
LOG("DrvDocumentEvent(DOCUMENTEVENT_STARTPAGE)");
break;
case DOCUMENTEVENT_ENDDOCPRE:
LOG("DrvDocumentEvent(DOCUMENTEVENT_ENDDOCPRE)");
break;
case DOCUMENTEVENT_ENDDOCPOST:
LOG("DrvDocumentEvent(DOCUMENTEVENT_ENDDOCPOST)");
break;
case DOCUMENTEVENT_ABORTDOC:
LOG("DrvDocumentEvent(DOCUMENTEVENT_ABORTDOC)");
break;
case DOCUMENTEVENT_ESCAPE:
LOG("DrvDocumentEvent(DOCUMENTEVENT_ESCAPE)");
break;
case DOCUMENTEVENT_QUERYFILTER:
{
LOG("DrvDocumentEvent(DOCUMENTEVENT_QUERYFILTER)") ;

DOCEVENT_FILTER *doc_events = (DOCEVENT_FILTER*) pbOut;

if (doc_events)
{
doc_events->aDocEventCall[0] = DOCUMENTEVENT_CREATEDCPRE;
doc_events->aDocEventCall[1] = DOCUMENTEVENT_CREATEDCPOST;
doc_events->aDocEventCall[2] = DOCUMENTEVENT_RESETDCPRE;
doc_events->aDocEventCall[3] = DOCUMENTEVENT_RESETDCPOST;
doc_events->aDocEventCall[4] = DOCUMENTEVENT_STARTDOCPRE;
doc_events->aDocEventCall[5] = DOCUMENTEVENT_STARTPAGE;
doc_events->aDocEventCall[6] = DOCUMENTEVENT_ENDPAGE;
doc_events->aDocEventCall[7] = DOCUMENTEVENT_ENDDOCPRE;
doc_events->aDocEventCall[8] = DOCUMENTEVENT_ABORTDOC;
doc_events->aDocEventCall[9] = DOCUMENTEVENT_DELETEDC;
doc_events->aDocEventCall[10] = DOCUMENTEVENT_ESCAPE;
doc_events->aDocEventCall[11] = DOCUMENTEVENT_ENDDOCPOST;
doc_events->aDocEventCall[12] = DOCUMENTEVENT_STARTDOCPOST;

/*doc_events->cElementsNeeded = _Num_of_doc_events;*/
doc_events->cElementsReturned = _Num_of_doc_events;

dump(doc_events);
}

rc = DOCUMENTEVENT_SUCCESS;
}
break;
default:
{
LOG("DrvDocumentEvent(%d)", iEsc);
rc = DOCUMENTEVENT_UNSUPPORTED;
}
break;
}

return rc;

Hope you can help.
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: IE7 Freezes Randomly, Using Vista Ultimate 64-bit + Home Page Load Problem + IE 64-bit Flash Player Problem PA Bear [MS MVP] Internet Explorer 0 01-20-2009 09:20 PM
HTML Rendering Problem - Table Layout with COLSPAN - problem in IE 7 (Vista and XP) Mike Sloan Internet Explorer 0 11-25-2007 09:13 PM
DrvDocumentEvent - How do I get the DEVMODE from 'pvOut' (64-bit A SL Windows Vista Drivers 4 04-01-2005 03:45 PM
beginthread in DrvDocumentEvent crashes under NT4 Stefan Wanger Windows Vista Drivers 4 02-05-2004 06:49 PM
beginthread in DrvDocumentEvent crashes under NT4 Stefan Wanger Windows Vista Drivers 0 01-26-2004 12:10 PM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59