Geen fan van ............. ! Zelfs geen voetbalfan ! Dus kappe nou ....... !
We hebben maar 1 'Test'-PC tot de beschikking, we hebben ditOp dinsdag 04 juni 2002 13:26 schreef fladder het volgende:
ook op andere PC's?
euvel dus nog niet op andere PC's getest.
Maar omdat dit probleem zich alleen voordoet bij onze driver, lijkt mij dat het niet aan de PC ligt!
Stel we zouden iets doen als :
code:
1
| adapter=CreateFile("\\\\.\\COM1 ...............blabla); |
Dan doet ie het wel gewoon !
Geen fan van ............. ! Zelfs geen voetbalfan ! Dus kappe nou ....... !
illegale tekens in de drivernaam? meer dan 8 characters? Zou een simpel probleem kunnen zijn.
...Als het maar werkt
Verwijderd
Het lijkt me dat er in dat geval een fout zit in de routine die het systeem aanroept in je driver zodra CreateFile() wordt aangeroepen?
Ik weet niet precies hoe dat zit bij WDM drivers, maar 't zal vast lijken op 't oude NT systeem. Bij het aanmaken van je device object geef je een tabel mee met dispatchers voor IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_CREATE en dat soort dingen. Het systeem roept die aan, en als je daar wat fout in doet krijg je inderdaad mooie blauw gekleurde schermen of spontane reboots...
Ik weet niet precies hoe dat zit bij WDM drivers, maar 't zal vast lijken op 't oude NT systeem. Bij het aanmaken van je device object geef je een tabel mee met dispatchers voor IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_CREATE en dat soort dingen. Het systeem roept die aan, en als je daar wat fout in doet krijg je inderdaad mooie blauw gekleurde schermen of spontane reboots...
Dit is het in elk geval ni ! (ik bedoel illegale tekens en > 8 chars, niet dat het geen simpel probleem kan zijnOp dinsdag 04 juni 2002 13:53 schreef Belgar het volgende:
illegale tekens in de drivernaam? meer dan 8 characters? Zou een simpel probleem kunnen zijn.
In onze dispatch routine (dus de routine die wordt aangeroepen bij een CreateFile aanroep) return ik gewoon STATUS_SUCCESS, gewoon om te testen. Ik weet niet eens of dit uberhaupt wel mag (lijkt me wel).Het lijkt me dat er in dat geval een fout zit in de routine die het systeem aanroept in je driver zodra CreateFile() wordt aangeroepen?
Ik weet niet precies hoe dat zit bij WDM drivers, maar 't zal vast lijken op 't oude NT systeem. Bij het aanmaken van je device object geef je een tabel mee met dispatchers voor IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_CREATE en dat soort dingen. Het systeem roept die aan, en als je daar wat fout in doet krijg je inderdaad mooie blauw gekleurde schermen of spontane reboots...
Geen fan van ............. ! Zelfs geen voetbalfan ! Dus kappe nou ....... !
Verwijderd
Uit de DDK documentatie:
Je zult dus in ieder geval de volgende code moeten toevoegen aan je dispatcher:
Je zult dus iets meer moeten doen dan alleen STATUS_SUCCESS returnen. Je krijgt de IRP binnen en het systeem wil er van af. Je zult het systeem dus moeten vertellen dat je er klaar mee bent door de IRP te completen.Many device and intermediate drivers merely set STATUS_SUCCESS in the I/O status block of the IRP and complete the create request.
Je zult dus in ieder geval de volgende code moeten toevoegen aan je dispatcher:
code:
1
2
3
4
| // Complete the request with success status // Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_NO_INCREMENT); |
Ik zou zeggen, hang je debugger aan het testsysteem en debuggen maar. Met deze info( of liever gebrek aan info ) is niet te zeggen waar de fout zit.
Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.
Pagina: 1