locked
Questions regarding run time broker for a Metro APP

    Question

  • I have a Kernel mode driver which performs some action based on process ID. The way we are verifying that the driver is running in the correct processes context(IOCTL Requesting process) is by getting the process ID using IoGetRequestorProcessID and comparing it to the process ID obtained from the FileObject context using WdfRequestGetObject and then getting the file object context. 

    With a Metro app, it looks like the run time broker creates creates the file object on behalf of the process. Since this is the case, how can we verify if the driver is currently running in the same process context as the IOCTL requesting ?

    Friday, May 4, 2012 6:35 PM

Answers

  • R K,

    One possibility, that will get you close, is to create a separate device interface for your Metro style app.  Then your original interface will keep its logic desktops.  The new interface will know that the IOCTL came from your Metro style device app.

    Best Wishes - Eric

    Friday, May 4, 2012 11:52 PM
    Moderator

All replies

  • R K,

    One possibility, that will get you close, is to create a separate device interface for your Metro style app.  Then your original interface will keep its logic desktops.  The new interface will know that the IOCTL came from your Metro style device app.

    Best Wishes - Eric

    Friday, May 4, 2012 11:52 PM
    Moderator
  • Thanks for the reply Eric. I assume this means i will have to create a separate/different device interface for each metro app that i write ? If this is the case, what i am looking for is a solution that scales better. 
    • Edited by R__K Monday, May 7, 2012 1:39 AM
    Monday, May 7, 2012 1:38 AM
  • Just one interface for Metro and one for Desktop.  You may need to define separate IOCTLs for each app.  How many apps do you expect to have and what device are you writing for?
    Monday, May 7, 2012 5:40 PM
    Moderator
  • Thanks for the reply Eric. I expect to have apps in the order of 10's or even 100's so i cannot create a separate IOCTL for each app. I am not at liberty to tell you about the device unfortunately. Is there any other way around this? Is there a way to get past the runtime broker and get the metro app to open the file handle?
    Tuesday, May 8, 2012 9:18 PM
  • Just make sure that the device is one that requires a customer IOCTL interface and is not something like a camera for which we have a defined SDK experience for. Also is this an external device?

    Wednesday, May 9, 2012 5:59 AM
    Moderator
  • THanks Eric. This is not an external device and i have gone through docs to make sure it is not one that has a defined SDK experience.
    Wednesday, May 9, 2012 3:27 PM
  • We have published documentation for the external devices.  However not for internal devices yet.

    Best Wishes - Eric

    Tuesday, June 12, 2012 12:08 AM
    Moderator
  • Eric,

    Any information on this ? Is there any way i can tell the process id of my MSDA app on behalf which the runtime broker opened the file handle ?

    Friday, September 14, 2012 9:07 PM