Hej,
Jeg har lavet en print/port monitor, som installeres som en dll.
Jeg har forsøgt, at logge beskeder til en fil, så jeg kan debugge min
dll, men så snart jeg laver et funktionskald crasher det..
Der popper et vindue op hvor der står:
Spooler SubSystem App has encountered a problem and
needs to close.
Under Error Signature står der:
szAppName: spoolsv.exe
szModName : MyMonitor.dll
Først troede jeg at det var koden i den funktion, som jeg kalder,
der var noget galt med, men så lavede jeg en testfunktion, som
udelukkende laver en return 0 ...selv med et kald til testfunktionen
crasher koden...
Så snart jeg udkommenterer kaldet til testfunktionen virker alt fint
igen.
Er der nogen der kan fortælle mig hvad jeg lige har gjort galt??
Her er koden:
int TestFunc(cPclParser* pParser)
{
return 0;
}
int SendToPrinter(PPORTHANDLE pPort, PSTR pData,DWORD len)
{
int Result;
cPclParser Parser;
cPclParser *pParser=&Parser;
pPort->StartTickCount=GetTickCount();
pPort->ChecktimeON=1;
TestFunc(pParser);
Result=send(pPort->ps,pData,len,0);
pPort->ChecktimeON=0;
if (Result<0) return Result;
if (Result)
{
if (pPort->JobStatus) SetJobStatus(pPort,0);
if (pPort->PrStatus) SetPrinterStatus(pPort,0);
}
return Result;
}
|