Your Name
2006-08-31 17:34:09 UTC
Hi,
I am writing a FDO for the system-enumerated system timer (PIT 8253) aka
PDO (denoted *PNP0100).
It works fine for now (I can use the IRQ) but the coding process is
getting frustrating because I develop in a "one machine environnement"
so each time I uninstall my device from the device manager, the system
needs to reboot.
Can KMDF remove my FDO by simply detaching it from its PDO so I can
reinstall the FDO with "Update driver" in device manager or devcon ?
I tried this in my EvtDriverAddDevice callback :
...
status = WdfDeviceCreate(
&DeviceInit,
&attributes,
&device
);
if (!NT_SUCCESS(status))
{
return status;
}
WdfDeviceRemoveRemovalRelationsPhysicalDevice(
device,
WdfFdoInitWdmGetPhysicalDevice(DeviceInit)
);
...
But I get the BSOD 0x0000010d with arguments
0x00000004
0xb8xxxxxx // some address around b
0x00000000
0x85xxxxxx // some address around 8
What's wrong ?
Is detaching/reataching at will even possible ?
Thanks for your time.
Guillaume
I am writing a FDO for the system-enumerated system timer (PIT 8253) aka
PDO (denoted *PNP0100).
It works fine for now (I can use the IRQ) but the coding process is
getting frustrating because I develop in a "one machine environnement"
so each time I uninstall my device from the device manager, the system
needs to reboot.
Can KMDF remove my FDO by simply detaching it from its PDO so I can
reinstall the FDO with "Update driver" in device manager or devcon ?
I tried this in my EvtDriverAddDevice callback :
...
status = WdfDeviceCreate(
&DeviceInit,
&attributes,
&device
);
if (!NT_SUCCESS(status))
{
return status;
}
WdfDeviceRemoveRemovalRelationsPhysicalDevice(
device,
WdfFdoInitWdmGetPhysicalDevice(DeviceInit)
);
...
But I get the BSOD 0x0000010d with arguments
0x00000004
0xb8xxxxxx // some address around b
0x00000000
0x85xxxxxx // some address around 8
What's wrong ?
Is detaching/reataching at will even possible ?
Thanks for your time.
Guillaume