README.TXT


Microsoft Win32 Smart Card Development Kit


---------
Contents:
---------

1. Introduction
2. Updates
3. Documentation
4. Contact Information
5. Development Tools
6. Components
7. Installation
8. C++ Projects
9. Java Project
10. VB Project
11. Building .IDL Files

---------------
1. Introduction
---------------

Welcome to the Microsoft Win32 Smart Card SDK. This release provides
the necessary files and information to build retail and debug
in-process server dynamic link libraries (DLLs) and smart card aware
applications for Windows NT version 4.0 or greater, Windows 95 or
greater, on x86 platforms.

For the latest information on Microsoft's smart card products, please
visit http://www.microsoft.com/smartcard/

----------
2. Updates
----------

The SCardCOM example has been aligned with the target PCSC V1.0 Part 6
specification.

These changes require that applications built against previous versions
of the Smart Card SDK be re-compiled, and any errors resolved. All
other changes simply fix bugs, and should not affect the interfaces.

----------------
3. Documentation
----------------

Descriptions of all programming interfaces are in the help files
that come with the Microsoft Platform SDK.

----------------------
4. Contact Information
----------------------

SmartCardSDK@DISCUSS.MICROSOFT.COM

The above email address is an external alias setup for the
Smart Card SDK. There is information on how to subscribe at
http://www.microsoft.com/sitebuilder/resource/mail.asp

--------------------
5. Development Tools
--------------------

The following tools are required to build the smart card components.

1. Microsoft Visual C++ version 5.0 or higher (see Note below)
2. Microsoft Win32 Software Development Kit (SDK)
v4.0 or greater for Windows NT 4.0 or greater, and Windows 95 or
greater.
3. Microsoft Visual J++ version 1.0 or later
4. ATL 2.0 or later.

Most of the utilities, headers, libraries, documentation, and sample
code in the Win32 Smart Card SDK are useful when building DLLs and
smart card aware applications for Windows NT version 4.0 or greater and
Windows 95 or greater.

There is no compiler, linker, lib utility, or make utility provided
with this SDK supplement.


----------------------------
6. Smart Card SDK Components
----------------------------

The following components are included in this version of the Win32
Smart Card SDK.

\%MSTOOLS%\samples\winbase\scard

- Readme.txt

\%MSTOOLS%\include

- scarddat.h
- scarddat.idl
- scarderr.h
- scardmgr.h
- scardmgr.idl
- scardsrv.h
- scardsrv.idl
- sspguid.h
- sspserr.h
- sspsidl.h
- sspsidl.idl
- winscard.h
- winsmcrd.h
- wrpguid.h

\%MSTOOLS%\lib

- scarddat.tlb
- scarddlg.lib
- scardmgr.tlb
- scardsrv.tlb
- winscard.lib

\%MSTOOLS%\samples\winbase\scard\aggreg

- dllaggx.c
- dllaggx.h
- preagg.cpp
- preagg.h
- resagg.h
- scardagg.cpp
- scardagg.def
- scardagg.idl
- scardagg.mak
- scardagg.rc
- scardni.cpp
- scardni.h

\%MSTOOLS%\samples\winbase\scard\aggreg\test

- aggtest.cpp
- aggtest.mak

\%MSTOOLS%\samples\winbase\scard\app

- preapp.cpp
- preapp.h
- resapp.h
- scarddg.cpp
- scarddg.h
- scardtst.cpp
- scardtst.h
- scardtst.mak
- scardtst.rc

\%MSTOOLS%\samples\winbase\scard\app\res

- scardtst.ico
- scardtst.rc2

\%MSTOOLS%\samples\winbase\scard\html

- download.htm
- example.htm

\%MSTOOLS%\samples\winbase\scard\java

- ByteBuff.java
- SCard.java
- SCardCmd.java
- SCardISO.java
- SCBase.java
- SCConsnt.java
- Test.java

\%MSTOOLS%\samples\winbase\scard\llcom

- scdtest.cpp
- test.mak

\%MSTOOLS%\samples\winbase\scard\scardcom

- dlldatax.c
- dlldatax.h
- resource.h
- scardath.cpp
- scardath.h
- scardcom.cpp
- scardcom.def
- scardcom.idl
- scardcom.mak
- scardcom.rc
- scardcom.rc2
- scarddef.h
- scardfil.cpp
- scardfil.h
- scardman.cpp
- scardman.h
- scardver.cpp
- scardver.h
- stdafx.cpp
- stdafx.h
- wrphelp.cpp
- wrphelp.h

\%MSTOOLS%\samples\winbase\scard\scardcom\cppwrap

- scardwrp.cpp
- scardwrp.h

\%MSTOOLS%\samples\winbase\scard\setup

- webssp.cdf
- webssp.inf

\%MSTOOLS%\samples\winbase\scard\ssps

- readssp.txt

\%MSTOOLS%\samples\winbase\scard\vb

- scardvb.frm
- scardvb.vbp

---------------
7. Installation
---------------

Before running SETUP.EXE, the Win32 Platform SDK must be installed on
the target machine including any updates. If you downloaded the Smart
Card SDK from the Microsoft MSDN Web site, then you must also download
the build environment update in order to get all the latest libraries
and header files that are required to build the samples.

To install the Win32 Smart Card SDK on a development machine, run
SETUP.EXE from the root of the distribution media. The setup program
will prompt for the installation path. The suggested path is your
current %MSTOOLS% path: <YourDrive>:\MSSDK\...)

Along with the SDK, the Smart Card Base Components must be installed
on your system. The system level components are distributed separately
from the SDK components. The

Along with the Smart Card Base Components, a smart card reader and
device driver must be installed on your target machine in order for
your application or service provider DLL to communicate with a smart
card (and reader). Please refer to the Smart Card DDK for information
on how to install the DDK components and device drivers.


---------------
8. C++ Projects
---------------

Visual C++ 5.0 or greater is required to build the C++ projects.

The following steps should be taken to build the projects from within
Developer Studio:

1) Rebuild the low-level COM component .IDL files. (See Building .IDL Files).

2) Set the following include paths in the Tools\Options\Directories menu
property sheet:
"<Your SDK Install path>\include"
"<Your SDK Install path>\samples\winbase\scard\app"
"<Your SDK Install path>\samples\winbase\scard\scardcom"
"<Your SDK Install path>\samples\winbase\scard\scardcom\cppwrap"

3) Open the example's .mak file in Visual C++.

4) Build the project(s).

Notes:

1) To change the default build type (Debug, Release, etc.) edit the
first four lines of the .mak file selecting an alternate build.

2) The projects may be built from the command line after setting the Visual C++
environment variables.

---------------
9. Java Project
---------------

Visual J++ 1.0 or greater is required to build the Java project.

The following steps should be taken to build the project within Developer
Studio:

1) Create a new Java Project Workspace.

2) Add all the java sample files to the project.

3) Compile the project.

--------------
10. VB Project
--------------

Visual Basic 5.0 or greater is required to build the project.

The following steps should be taken to build the project:

1) Open the .vbp.

2) Make sure the low-level smart card COM (scarddat, scardmgr, scardsrv)
components are referenced in the project.

3) Build the project.

-----------------------
11. Building .IDL Files
-----------------------

To rebuild the smart card low-level COM component .IDL files, use the
following command:

midl /I<Your Visual C++ install Path>\Include <Filename.Idl>

In this case, it is assumed the \Include directory contains all SDK
headers not just smart card specific headers.

These files we need to be rebuilt in order to build the samples.