PCMCIA Chipcard PC Card

  • Thread starter Thread starter David
  • Start date Start date
D

David

Hi!

I want to read data from a chipcard inserted into a PCMCIA chipcard reader
inserted into the PCMCIA slot of a Windows CE .NET 4.2 device (called
Futurepad) using a VB.NET application.

It's only a memory chip with 256 Byte of data. If I could read this once
into a string I would be happy ;-)

Some idea how to start or how to get info about this?

David
 
You should P/Invoke into the API provided by chipcard reader manufacturer
to interact with the card.
If there's a driver, but no API, you can try using IOCTL by P/Invoking
DeviceIoControl(). Implementation of that would be device specific.
If no software is provided for this card and, it can not be used (unless
you're willing to write device driver for this card and native wrapper to
interact with it).

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
 
Thank you Ilya,

that sounds good... But I did'nt find a manufacturer who says he has a
driver. So I think I have to go the hard way, to call PCMCIA or hardware-
functions. Or *CAN* it be possible to use API's for other OSes (like WinXP)?
But I don't think so...

Isn't it possible to "connect" to the device inside the PCMCIA slot and to
give "Commands" to it?

Something like
Set d = System.?.Devices("PCMCIA")
d.Open(Fullspeed)
result=d.PutCommand(ReadTheCard, CardContents)
(Don't laugh too much, please) ;-)

How dows OS communicate with the device?

David


"Ilya Tumanov [MS]" said:
You should P/Invoke into the API provided by chipcard reader manufacturer
to interact with the card.
If there's a driver, but no API, you can try using IOCTL by P/Invoking
DeviceIoControl(). Implementation of that would be device specific.
If no software is provided for this card and, it can not be used (unless
you're willing to write device driver for this card and native wrapper to
interact with it).

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
From: "David" <[email protected]>
Subject: PCMCIA Chipcard PC Card
Date: Mon, 21 Jun 2004 22:56:07 +0200
Lines: 14
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
Message-ID: <[email protected]>
Newsgroups: microsoft.public.dotnet.framework.compactframework
NNTP-Posting-Host: p213.54.15.37.tisdip.tiscali.de 213.54.15.37
Path:
cpmsftngxa10.phx.gbl!TK2MSFTNGXA06.phx.gbl!cpmsftngxa06.phx.gbl!TK2MSFTNGXA0
1.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP12.phx.gbl
Xref: cpmsftngxa10.phx.gbl microsoft.public.dotnet.framework.compactframework:55680
X-Tomcat-NG: microsoft.public.dotnet.framework.compactframework

Hi!

I want to read data from a chipcard inserted into a PCMCIA chipcard reader
inserted into the PCMCIA slot of a Windows CE .NET 4.2 device (called
Futurepad) using a VB.NET application.

It's only a memory chip with 256 Byte of data. If I could read this once
into a string I would be happy ;-)

Some idea how to start or how to get info about this?

David
 
Inline, please...

Best regards,

Ilya

This posting is provided "AS IS" with no warranties, and confers no rights.

David said:
Thank you Ilya,

that sounds good... But I did'nt find a manufacturer who says he has a
driver.

That means you could not use the device. No driver means device is useless
on specific OS.

So I think I have to go the hard way, to call PCMCIA or hardware-
functions.

There are no "hardware functions". Hardware looks like a set of memory
addresses, IO ports (on some platforms), IRQ and DMA.

CPU interacts with that stuff using special IO commands, accessing memory
mapped IO, processing IRQ and handling DMA.

This is done by the driver.

Or *CAN* it be possible to use API's for other OSes (like WinXP)?
But I don't think so...

It's not. Drivers from different OS can not be used as well.

Isn't it possible to "connect" to the device inside the PCMCIA slot and to
give "Commands" to it?

It is possible, and that's what driver does. There's no "connection", it
just access device IO.

You can not do that from the user's app as OS won't let you.

Driver can be written in C and assembly, VB is not an option for a driver.


Something like
Set d = System.?.Devices("PCMCIA")
d.Open(Fullspeed)
result=d.PutCommand(ReadTheCard, CardContents)
(Don't laugh too much, please) ;-)

What you're describing is a high level API. It should be provided by the
device manufacturer.

How dows OS communicate with the device?


It's not. It talks to the driver which talks to hardware.


20 years ago you can talk to hardware directly even from Basic applications,
but that's no longer an option.

OS won't allow app to do that to protect its own integrity. So, you need at
least a driver for that specific hardware for the specific OS.

Another DLL might expose easy to use API so you won't have to talk to the
driver directly using IOCTL.



If you can not find a driver for that device, your best bet would be to
choose another device which connects to something CE have a driver for
already.

Say, you might find a reader which connects to a serial port. Serial ports
are supported by CE and there's an API to control them.

Now you can talk to the reader via that port and get your data.
 
Back
Top