OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Pavel Hrdina (paulCOMPELSON.COM)
Date: Mon Nov 12 2001 - 07:42:53 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    Dear YueWeng,

    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...

    Paul

    -----Original Message-----
    From: SmartCardDDK [mailto:SmartCardDDKDISCUSS.MICROSOFT.COM]On Behalf
    Of Tay YueWeng
    Sent: Sunday, November 11, 2001 4:24 AM
    To: SmartCardDDKDISCUSS.MICROSOFT.COM
    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
    question.

    Regards,
    YueWeng

    --- 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
    > selected)
    > So the only value which implies those three points
    > simultaneously is SCARD_SPECIFIC.
    >
    > Is it clear to you now ?
    >
    > Paul
    >
    > 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
    > understand:
    >
    > 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!
    >
    > Regards,
    > YueWeng

    __________________________________________________
    Do You Yahoo!?
    Find a job, post your resume.
    http://careers.yahoo.com