locked
Why can't Metro runtime component access UMDF device driver

    Question

  • According to Customer driver access example and Fx2 UMDF sample, I've created a C++ Metro app to access a virtual UMDF driver.

    I got error "E_ACCESSDENIED General access denied error" at the step of calling "hr = access->GetResult(IID_PPV_ARGS(&deviceControl));" or "hr = access->GetResult(IID_IDeviceIoControl, (void**)&m_DeviceIoControl);" right after CreateDeviceAccessInstance.

    By searching other similar questions I've noticed below things and paid attention accordingly.

    1.  Add Privileged Interface in Inf file of UMDF driver

    2.  Mark the interface as restricted after CreateDeviceInterface in device.cpp

    3. Create device meta data with right h/w id and add customer device access for package and deploy it.

    4. Add DeviceCapability attrirbute in appxmanifest with same h/w id.

    I should follow MSDN sample and check it thoroughly, but what I got is access denied information.

    Is there any restriction for Metro app/component to access virtual device driver? Does it make different if Metro access UMDF or KMDF?

    I want to access particular h/w resource in this virtual device driver after I make the path between Metro and UMDF go smoothly.

    Could you please help?

    Thanks!

    Friday, June 8, 2012 3:11 PM

Answers

  • One approach would be to get your external hardware working with a UMDF driver and a Windows 8 desktop app and then port it to a Metro style device app.  Our UMDF_FX2 sample has  a desktop app.  Another approach is to obtain an OSR FX2 board and use it with the UMDF sample to get the Metro style app working.

    One thing to add to the troubleshooting list is to enable test signing and re-boot. 

    Friday, June 8, 2012 8:29 PM
    Moderator
  • UMDF and KMDF and WDM drivers are allowed.  Metro style device apps require hardware.  Currently we have published information for external devices.
    Friday, June 8, 2012 10:28 PM
    Moderator

All replies

  • One approach would be to get your external hardware working with a UMDF driver and a Windows 8 desktop app and then port it to a Metro style device app.  Our UMDF_FX2 sample has  a desktop app.  Another approach is to obtain an OSR FX2 board and use it with the UMDF sample to get the Metro style app working.

    One thing to add to the troubleshooting list is to enable test signing and re-boot. 

    Friday, June 8, 2012 8:29 PM
    Moderator
  • UMDF and KMDF and WDM drivers are allowed.  Metro style device apps require hardware.  Currently we have published information for external devices.
    Friday, June 8, 2012 10:28 PM
    Moderator