Access PCMCIA Attribute Memory by Using a BUS_INTERFACE_STANDARD Interface

This section describes how a PC Card or CardBus card driver can use the BUS_INTERFACE_STANDARD interface to access attribute memory.

A driver should use a BUS_INTERFACE_STANDARD interface if the overhead of an I/O request is unacceptable. This method is like the I/O request method, in that it passes a buffer pointer. However, this method calls an interface routine, which eliminates the overhead of an I/O request. A driver must use this method if it accesses attribute memory while running at IRQL DISPATCH_LEVEL − for example, within a deferred procedure call (DPC).

A driver can use this method while running at IRQL <= DISPTACH_LEVEL.

A driver usually obtains a BUS_INTERFACE_STANDARD interface during its initialization. The driver uses an IRP_MN_QUERY_INTERFACE request to obtain the interface from the PCMCIA bus driver. The query interface request must be sent at IRQL PASSIVE_LEVEL.

After the driver obtains the standard bus interface, the driver can call the interface routines GetBusData or SetBusData to access attribute memory.