From: Jeff Belcher on
Hi all,

I have a custom build of the OEMUI sample from the DDK which works
fine on 32-bit Windows all the way up to Windows 7. When I compile
for 64-bit, I only receive DOCUMENTEVENT_CREATEDCPRE and
DOCUMENTEVENT_QUERYFILTER. Within the handler for
DOCUMENTEVENT_QUERYFILTER I have:

if (pbOut)
{
DOCEVENT_FILTER* pFilter = (DOCEVENT_FILTER*)pbOut;
pFilter->cElementsReturned = 6;
pFilter->aDocEventCall[0] = DOCUMENTEVENT_ENDDOCPOST;
pFilter->aDocEventCall[1] = DOCUMENTEVENT_STARTDOC;
pFilter->aDocEventCall[2] = DOCUMENTEVENT_ENDDOC;
pFilter->aDocEventCall[3] = DOCUMENTEVENT_STARTPAGE;
pFilter->aDocEventCall[4] = DOCUMENTEVENT_ENDPAGE;
pFilter->aDocEventCall[5] =
DOCUMENTEVENT_STARTDOCPOST;
*piResult = DOCUMENTEVENT_SUCCESS;
ret = DOCUMENTEVENT_SUCCESS;
} else {
*piResult = DOCUMENTEVENT_UNSUPPORTED;
ret = E_NOTIMPL;
}

but none of the requested events get posted to me under 64-bit Windows
(have tried Windows Server 2003 x64 and Windows 7 x64 with no
success).

I have seen a few posts on this topic which are some years old but
none have resolved my problem. Can anybody help me out here?

Thanks

Jeff
From: Jeff Belcher on
Update for anyone with a similar problem (I do hate it when people
don't post a resolution when they find it) - for some reason,
selecting the events you want posted to you doesn't seem to work
(still don't know why) but if you just do:

*piResult = DOCUMENTEVENT_UNSUPPORTED;
ret = E_NOTIMPL;

then all events will be posted to you.

Jeff