Re: accesing drivers on different IRQ levels



You are confused here, first I would recomend Walter Oney's book.

Do you really have two drivers? If so why. You discussion seems to be
about IRQL not drivers.

What do you mean by "only access a function that doesn't give me IRP"?
Properly done the buffer for the IRP should be available at any IRQL.

KeWaitXXX can only wait at less than DISPATCH_LEVEL.


--
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply


"Eric" <spam@xxxxxxx> wrote in message
news:ePfluQPJGHA.3944@xxxxxxxxxxxxxxxxxxxxxxx
> Hey team.)
> There's a perticular problem with the driver I am developping.
> My main driver runs at passive and the other one at higher - looks like
> apc
> or even device. I can only access a function that doesn't give me IRP
> but has the important data that the main driver should receive.
> How do I transfer that the fastest way. I created a thread in main drv.
> that
> waits for events but that goes very slow and async occurs.
> When I use KeWaitXXX in higher level drv - machine most likely restarts.
> The best way would be to disable the other interrupt, handle sync/transfer
> and enable it again. But I don't know how.
> What would you suggest. Big thanks for answers.
>
> Eric


.



Relevant Pages

  • Re: 10 Commandments for WDM driver Development
    ... do not check the IRQL upon entry to every function in production code, acquiring the current IRQL is a very expensive operation. ... 1.IRP’s are created by the IoManager on behalf of an application or driver. ... Upper part of IRP is fixed data bottom part has the stack locations which ... 1.Only OS can generate an Interrupt ...
    (microsoft.public.development.device.drivers)
  • Re: BSOD and Memory Dump in Vista
    ... (Click to consult the online MSDN article.) ... Typically due to a bad driver, or faulty or incompatible hardware or software. ... Technically, this error condition means that a kernel-mode process or driver tried to access a memory location to which it did not have permission, or at a kernel Interrupt ReQuest Level (IRQL) that was too high. ... Error Message When Installing Windows Vista on a Computer With More Than 3 GB ...
    (microsoft.public.windows.vista.general)
  • Re: ProtocolUnbindAdapter() gets called at IRQL DISPATCH_LEVEL on Vista
    ... It's not entirely clear to me what's happening inside the driver, ... The level was indeed dispatch - as the bugcheck parameters show (0x02 ... ProtocolUnbind handler is called at the right IRQL. ... It is also possible that somewhere prior to NDIS calling unbind handler, ...
    (microsoft.public.development.device.drivers)
  • Re: profiler which does not just sum up used time
    ... I think drivers entirely in non-pageable memory and using interrupt handlers can be realtime, ... There are only threads executing user mode code, and threads executing kernel mode code (be it from a 3rd party driver, bundled driver, or core kernel). ... I know that there are only threads, or they run in user mode or kernel mode, what I'm trying to explain is that kernel code can run at real-time priority levels without the need to execute driver code, such code can even run at IRQL 1 or 2. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: What IRQL is PsSetLoadImageNotifyRoutines Notify Routine call
    ... Volodymyr, blog: http://www.shcherbyna.com/ ... My first inclination was to look another driver that was some ... In the documentatoin I see what IRQL ... documentation of the image load notification however does not specify ...
    (microsoft.public.development.device.drivers)