This section describes how a PC Card or Cardbus card driver can use Plug and Play I/O requests to access attribute memory.
A driver typically uses this method to initialize a device, to configure a device, or to obtain information from a device. A driver should use this method if the I/O overhead is acceptable, and the access can be done at IRQL < DISPATCH_LEVEL.
A driver can only use this method while running at IRQL < DISPATCH_LEVEL.
A driver performs the following sequence of operations:
- Creates and initializes a new IRP_MJ_PNP request. - The driver specifies either an IRP_MN_READ_CONFIG or an IRP_MN_WRITE_CONFIG minor function. 
- Gets the next stack location. 
- Sets the following members of the Parameters.ReadWriteConfig structure in the new stack location: - WhichSpace 
 Specifies the value PCCARD_ATTRIBUTE_MEMORY.- Buffer 
 Pointer to a paged-memory buffer that the driver allocates for the access. For a write operation, the buffer contains the data to write to the configuration space. For a read operation, the buffer is a zero-filled buffer. After the request completes, this buffer holds a copy of the attribute memory read from the device.- Offset 
 Specifies the WORD offset from the base of the attribute memory where the read or write operation begins.- Length 
 Specifies the size in bytes of the buffer that the driver allocates for the request.
- Sets a completion routine. 
- Sends the request down the device stack.