[KMDF 1.9] life of deviceInterface during WHQL certification

Hello everybody,

I have a question about device interface.
It’s for a smartcard reader driver with a device interface per slot reader smartcard.

I tried to running the pnpDTest tools for test Pnp event.

If I execute “Test Surprise Remove” the test success and I have always all devices interfaces ( fileSlotContext).

But If I execute the “Test Removal”, The test seems to be ok, but all device interface disappeared but usbTarget work ( exchange with USB OK).

So, how to “force” device interface for susbiste OR it’s necessary to “reCreate” device interface ?

Thanks in advance,

Best regards,

Moulefrite

xxxxx@hotmail.com wrote:

I have a question about device interface.
It’s for a smartcard reader driver with a device interface per slot reader smartcard.

I tried to running the pnpDTest tools for test Pnp event.

If I execute “Test Surprise Remove” the test success and I have always all devices interfaces ( fileSlotContext).

But If I execute the “Test Removal”, The test seems to be ok, but all device interface disappeared but usbTarget work ( exchange with USB OK).

So, how to “force” device interface for susbiste OR it’s necessary to “reCreate” device interface ?

I don’t quite understand. Are you saying that, after “Test Removal” has
completed, your device comes back to life and runs correctly, but the
device interface is not enabled?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hello Tim,

I don’t quite understand. Are you saying that, after “Test Removal” has completed, your device
comes back to life and runs correctly, but the device interface is not enabled?

Yes it’s exactly this behavior, and I don’t understand why, because normally each device interface contains an IRP for smartcard detection, and when device go to “removal” this IRP is cleared, after my ioQueueCancel is called and after callBack fileCleanUp and fileClose are executed.

Thank you Tim for your answer, has you got any tips for keep the device interface alive.

Thanks in advance,

Best regards,

Moulefrite

If the fdo is still there, the device interfaces it has registered are still valid. Can you manually enumerate the interface instances from a test app in this scenario ?

d

dent from a phine with no keynoard

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Wednesday, March 02, 2011 2:29 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] [KMDF 1.9] life of deviceInterface during WHQL certification

Hello Tim,

I don’t quite understand. Are you saying that, after “Test Removal” has completed, your device
comes back to life and runs correctly, but the device interface is not enabled?

Yes it’s exactly this behavior, and I don’t understand why, because normally each device interface contains an IRP for smartcard detection, and when device go to “removal” this IRP is cleared, after my ioQueueCancel is called and after callBack fileCleanUp and fileClose are executed.

Thank you Tim for your answer, has you got any tips for keep the device interface alive.

Thanks in advance,

Best regards,

Moulefrite


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thanks Doron for your reply,

If the fdo is still there, the device interfaces it has registered are still valid. Can you manually
enumerate the interface instances from a test app in this scenario ?

No device interface are not registered after the test and if I try to launch a test app for create fileSlotContext, evtreateFile success but direct after I receive an evtFileCleanUp and fileClose.

Maybe, because the device interface are created by the driver and not by an application ?
Or because I have restricted the opened device interface by one per slot ?

Thanks in advance,

Regards,

Moulefrite

If you saw the create, the device interface is still valid. What are you returning from your create callback?

d

dent from a phine with no keynoard

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Wednesday, March 02, 2011 7:50 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] [KMDF 1.9] life of deviceInterface during WHQL certification

Thanks Doron for your reply,

If the fdo is still there, the device interfaces it has registered are still valid. Can you manually
enumerate the interface instances from a test app in this scenario ?

No device interface are not registered after the test and if I try to launch a test app for create fileSlotContext, evtreateFile success but direct after I receive an evtFileCleanUp and fileClose.

Maybe, because the device interface are created by the driver and not by an application ?
Or because I have restricted the opened device interface by one per slot ?

Thanks in advance,

Regards,

Moulefrite


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

> If you saw the create, the device interface is still valid. What are you returning from your

create callback?

I return STATUS_SUCCESS, after evtFileCreate callback, some IO are procecced in evtDeviceControl
and without status fail, evtCleanUp and fileClose callback are executed.

Thank you Doron for your help.

Regards,

Moulefrite

Then this is something wrong post test that your driver doing.

d

dent from a phine with no keynoard

-----Original Message-----
From: xxxxx@hotmail.com
Sent: Wednesday, March 02, 2011 8:20 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] [KMDF 1.9] life of deviceInterface during WHQL certification

If you saw the create, the device interface is still valid. What are you returning from your
create callback?

I return STATUS_SUCCESS, after evtFileCreate callback, some IO are procecced in evtDeviceControl
and without status fail, evtCleanUp and fileClose callback are executed.

Thank you Doron for your help.

Regards,

Moulefrite


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer