Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTFSD

More Info on Driver Writing and Debugging


The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.


Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

RE: How to access named kernel object created by use---r mo-de applicati-on in kernel driver?

OSR_Community_UserOSR_Community_User Member Posts: 110,217
Yes, I did know from Nagar's book that using ObReferenceObjectByHandle, I
should be able to get the pointer to object which should be context
independent. Or I can use ObOpenObjectByPointer if I need a
context-independent handle.

I have not used both calls to see how they work though. Let's see if I can
avoid them :-)

Jack

> -----Original Message-----
> From: Smith, Joel [SMTP:[email protected]]
> Sent: Wednesday, March 01, 2000 1:42 PM
> To: File Systems Developers Interest List
> Subject: [ntfsd] RE: How to access named kernel object created by
> use r mo de applicati on in kernel driver?
>
> Cool - sounds like a good approach, given that you'll have many
> user mode clients of these synch objects.
>
> As you probably know (I'm probably misinterpreting your last
> paragraph) you would be able to use the synch objects from contexts other
> than you user mode app (i.e. system process, other user mode processes) in
> you device driver code (through kernel pointer to the dispatch objects).
>
> -Joel
>
> Thanx, I may wind up in this route in the end. However, the reason that I
> really want to use name is that the Filter driver is not the only client
> of
> these named kernel objects. There is also COM object that talk to this
> user
> mode application that create these kernel objects.
>
> Also the context that the filter driver access these kernel objects is
> different from the user mode application. It will be preferrable if I can
> access them by name.
>
> Jack
>
> > -----Original Message-----
> > From:Smith, Joel [SMTP:[email protected]]
> > Sent:Wednesday, March 01, 2000 8:31 AM
> > To: File Systems Developers Interest List
> > Subject: [ntfsd] RE: How to access named kernel object created by
> > user mo de applicati on in kernel driver?
> >
> > You could just pass the handles of the dispatch objects to the
> > kernel mode driver from the user mode application via some IRP you
> define.
> > You will be in the same context as the user mode app, so the handles
> will
> > be valid. You could then reference the synch objects handles with
> > ObReferenceObjectByHandle, hold onto there pointers in the driver, and
> use
> > the dispatch objects with normal kernel mode synchronization calls.
> >
> >
> > Hi all,
> >
> > I have a user mode application that uses the SWMRG(single writer
> multiple
> > readers guard) as implemented in chap 10 of Advanced windows to protect
> a
> > named memory mapped file.
> >
> > In the kernel mode file filter driver, I need to access the memory
> mapped
> > file. In ZwOpenSection, we can pass an ObjectAttributes that
> encapsulates
> > the name. However, I did not know how to do that for Mutex, Event &
> > Semaphore kernel objects.
> >
> > Any idea ?
> >
> > Thanks,
> >
> >
> > Jack(Wei-Chi) Cheng
> > Lexis-Nexis DCE Support Team
> > email: [email protected]
> > phone: 937-8656800 x 4028
> >
> >
> > ---
> > You are currently subscribed to ntfsd as: [email protected]
> > To unsubscribe send a blank email to $subst('Email.Unsub')
> >
>
> ---
> You are currently subscribed to ntfsd as: [email protected]
> To unsubscribe send a blank email to $subst('Email.Unsub')
>
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Writing WDF Drivers 24 January 2022 Live, Online
Internals & Software Drivers 7 February 2022 Live, Online
Kernel Debugging 21 March 2022 Live, Online
Developing Minifilters 23 May 2022 Live, Online