Finding the cause of failure for GPIO_CLX_ProcessAddDevicePostDeviceCreate

Dear Forum Members,

I am Kumaravel from microchip, India.
My device is a PCIe based gpio controller and I have based my windows driver on the GpioClx (GPIO framework extension).
When I load the driver for the device, the DriverEntry is successful and it gets registered with the GpioClx using the GPIO_CLX_RegisterClient.
Then WDF_DRIVER_DEVICE_ADD function is invoked and within that function, the following functions are invoked

  1. GPIO_CLX_ProcessAddDevicePreDeviceCreate
  2. WdfDeviceCreate
  3. GPIO_CLX_ProcessAddDevicePostDeviceCreate

First two functions are successful and third function is failing with error code 0xC0000010.
I could not find any information regarding this in the windows documentation and also could not find any information from the internet.
Can anyone provide me with some information or any help regarding this?

Thank You.

Regards,
Kumaravel

Were any of your callbacks called during that time? I though GpioClx was designed for direct processor GPIO pins, like on a Raspberry Pi, but I don’t see anything that would preclude it working with a PCIe device.

None of the other callbacks are invoked until EVT_WDF_DRIVER_DEVICE_ADD function is completed.
After the completion (failure) of EVT_WDF_DRIVER_DEVICE_ADD, PFN_WDF_DRIVER_UNLOAD was invoked to unload the driver.

Is PrepareHardware being called? If it’s not then I’ve found that I’ve run into problems with WdfDeviceInitSetIoType preventing the driver from being loaded. Put breakpoints at AddDevice, PrepareHardware and D0Entry and see what makes it …