Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email email@example.com
From: Pavel Hrdina (paulCOMPELSON.COM)
Date: Mon Nov 12 2001 - 07:42:53 CST
To answer your question, you must send us the parameters
of those calls (and also returned values).
I want to know about IOCTL_SMARTCARD_GET_ATTRIBUTE:
1. ULONG value from the Irp->AssiviatedIrp.SystemBuffer,
this is one of the SCARD_ATTR_xxx defined in winsmcrd.h
2. returned status
and about IOCTL_SMARTCARD_GET_STATE:
1. returned status
2. if success - ULONG value in the same buffer as previously
Please include all calls into your IRP_MJ_DEVICE_CONTROL
dispatch entrypoint starting during SCardConnect execution
and ending after error returned from SCardTransmit.
Maybe this can tell us more to solve your problem...
From: SmartCardDDK [mailto:SmartCardDDKDISCUSS.MICROSOFT.COM]On Behalf
Of Tay YueWeng
Sent: Sunday, November 11, 2001 4:24 AM
Subject: Re: SCARD_SPECIFIC or SCARD_PRESENT
Dear Paul and others,
Thanks for helping and explaination. I know what you
mean but I still facing the same problem after
knowning that it should be SCARD_SPECIFIC.
My situation is as follow:
First my platform is w2k. I have passed the IFDTest
part (a, b, c). Unfortunately, I do not have the
smart card specified in part(d). Thus, I can not
perform test part d. Do you know how much and where
to buy the these card? Are test part(d) really
important as I am using some other card?
The problem is as follow:
My problem is that when I execute ScardTransmit(SDK)
in user layer, the pcsc driver callback for "Transmit"
is not called at all. Also, IOCTL_SMARTCARD_TRANSMIT
is not send down as well.
When I observe the IOCTL which send down from resource
manager when I execute SCardTransmit, it send the
driver several IOCTL_SMARTCARD_GET_STATE and one
IOCTL_SMARTCARD_GET_ATTRIBUTE, I don't know what the
resource manager is expecting. However, I think the
resource manager wants to ensure that correct state
and attribute of the driver before any
IOCTL_SMARTCARD_TRANSMIT is to be sent to the driver.
After several IOCTL_SMARTCARD_GET_STATE, the
SmartcardDeviceControl return INVALID_STATE. Then the
RM give up.
In my driver, I don't fill up any TLV structure. Do
you think it is ok? The reason for me to ask this
question is because IOCTL_SMARTCARD_GET_ATTRIBUTE
seems to expect some TLV value. Actually, I don't
know how and what to fill the TLV value.
When I execute SCardConnect and
SCardBeginTranstion(SDK), it is successful.
When SCardTransmit is sent down, I am at state
SCARD_SPECIFIC. However, IOCTL_SMARTCARD_TRANSMIT is
not send down. Do you know what should I do in order
for IOCTL_SMARTCARD_TRANSMIT to receive and "Tranmit"
call back function?
Thank you very much for taking time to reply my
--- Pavel Hrdina <paulCOMPELSON.COM> wrote:
> If you look at the last argument of SCardConnect
> (ActiveProtocol) it should be evident that the card
> must be:
> 1.) present (and swallowed in PC/SC terminology)
> 2.) powered
> 3.) in specific mode (protocol has already been
> So the only value which implies those three points
> simultaneously is SCARD_SPECIFIC.
> Is it clear to you now ?
> PS: If you look into winsmcrd.h you can see that the
> SCARD_PRESENT is below SCARD_POWERED, so the card in
> that state is not yet powered.
> -----Original Message-----
> From: SmartCardDDK
> [mailto:SmartCardDDKDISCUSS.MICROSOFT.COM]On Behalf
> Of SUBSCRIBE SmartCardSDK yueweng
> Sent: Friday, November 09, 2001 7:49 AM
> To: SmartCardDDKDISCUSS.MICROSOFT.COM
> Subject: SCARD_SPECIFIC or SCARD_PRESENT
> Dear all,
> I have a simple question which I don't really
> What is the value of ReaderCapabilities.CurrentState
> when the user calls
> ScardTransmit() and ScardStatus() to the driver. Is
> the value suppose to
> be SCARD_SPECIFIC OR SCARD_PRESENT????
> Thanks for all in advance!
Do You Yahoo!?
Find a job, post your resume.