Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

RE: Upper filter driver and Microsoft Usbccid driver problem

Doron_HolanDoron_Holan Member - All Emails Posts: 10,435
Well, you are in a bit of a bind. You need to configure the umdf based ccid driver to accept km io at the devnode level, not the class and that needs to happen everytime the ccid driver is installed, not when your class driver is installed

d

Bent from my phone
________________________________
From: Mark Shnaider
Sent: ?12/?24/?2013 9:07 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Upper filter driver and Microsoft Usbccid driver problem

Hello Doron,
I install class filter driver for class Smart Card reader.
I change registry UpperFilter under Class\50DD5230-BA8A-11D1-BF5D-0000F805F530
Best Regards
Mark


From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Doron Holan
Sent: Tuesday, December 24, 2013 5:33 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Upper filter driver and Microsoft Usbccid driver problem

As a starting point you need to configure umdf for this device stack to accept km originated io. Are you installing a device or class filter?

d

Bent from my phone
________________________________
From: Mark Shnaider
Sent: ?12/?24/?2013 3:20 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Upper filter driver and Microsoft Usbccid driver problem
Hello,
I developed upper class filter driver for Smart reader device.
Class : {50DD5230-BA8A-11D1-BF5D-0000F805F530}
This diver performs monitoring Irp and process our proprietary request (IOCTL_SMARTCARD_PROP).
The application send proprietary requests using SCardControl function.
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DispatchDeviceControl;
The DispatchDeviceControl if get proprietary request (IOCTL_SMARTCARD_PROP )
send sequense of smart card command.
In order to send smart card command to low level driver in this case I use following way:

KeInitializeEvent(&event, NotificationEvent, FALSE);
irp = IoBuildDeviceIoControlRequest(
IOCTL_SMARTCARD_TRANSMIT,
DeviceExtension->TopOfStack,
DeviceExtension->ScSendData,
DeviceExtension->ScTransmitLen,
OutBuffer,
SC_BUFFER_SIZE,
FALSE,
&event,
&ioStatus
);

if( irp==NULL )
return STATUS_UNSUCCESSFUL;

status = IoCallDriver( DeviceExtension->TopOfStack, irp);

The driver works properly on many our customers on Windows XP .
I have problem on Window 7 if use this way on readers using Microsoft Usbccid driver (WUDF).

If use SCR3310 or OMNILEY readers and computer connect to Internet those readers do not use WUDF driver( drivers will be updated) .
For example driver SCR3XX2K.sys signed by Microsoft will be used for SCR 3310 reader.
In this case driver works properly and send sequense of smart card commands to low level diver without any problem.

If SCR3310,OMNIKEY,Precise readers use WUDF driver IoCallDriver return STATUS_INVALID_DEVICE_REQUEST (0xC0000010L).
I was wondering if anyone can help me what is wrong.
Best Regards


Mark Shnaider | Senior Software engineer | ARX
phone: +972.3.9279543 | mobile: +972.54.2448543 | email: xxxxx@arx.com | www.arx.com




---
NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

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

---
NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

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

---
NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

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
d
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Developing Minifilters 29 July 2019 OSR Seminar Space
Writing WDF Drivers 23 Sept 2019 OSR Seminar Space
Kernel Debugging 21 Oct 2019 OSR Seminar Space
Internals & Software Drivers 18 Nov 2019 Dulles, VA