The information in this article applies to:
- Microsoft Win32 Device Development Kit (DDK) for Windows 95
SUMMARY
Microsoft does not recommend using Card Services under Windows 95. Most
common uses of Card Services, such such as device insertion detection and
device configuration, are already handled by the Configuration Manager
under Windows 95.
Windows 95 only provides PCMCIA Card Services for VxDs. There are no Card
Services bindings provided for 32-bit or 16-bit Windows-based applications,
nor is there a real-mode Card Services binding.
MORE INFORMATION
If you feel you must use PCMCIA Card Services under Windows 95, please be
aware of the following restrictions:
- Many Card Services functions can only be called during AppyTime. Certain
Card Services functions (particulary those that deal with resource
allocation) make use of VxD services that can only be called during
AppyTime. It is recommended that all calls to Card Services be made
during AppyTime. The notification callback for a Card Services client
occurs at AppyTime, so it is safe to make CS calls at that time.
- The Card Services binding for VxDs under Windows 95 does not match the
32-bit binding defined by the PCMCIA 2.x specification. In Pnp.doc in
the Windows 95 DDK, it states that PCCARD_Card_Service "follow the
recommended binding in the PCMCIA Standards manual for 0:32 protected-
mode clients." It then goes on to list these bindings as:
AL - Function
DX - Handle
ESI - Pointer (32-bit offset)
CX - ArgLength
EBX - ArgPointer (32-bit offset)
---------------
AX - Status
CF - Success/Fail
This actually varies from the PCMCIA 2.x spec, which lists EDX as the
handle (versus DX), ECX as the ArgLength (not CX), and EAX as the status
(not AX). The bindings defined in Pnp.doc are correct for Windows 95,
with the exception of the return status, which is actually returned in
EAX, not AX.
REFERENCES
Pnp.doc in the Windows 95 DDK.