Synchronized Access within ATA Miniport Driver Routines

NOTE The ATA port driver and ATA miniport driver models may be altered or unavailable in the future. Instead, we recommend using the Storport driver and Storport miniport driver models.

Even when an ATA miniport driver does unsynchronized processing of I/O requests in its IdeHwBuildIo routine, it can synchronize access to critical system structures by calling AtaPortRequestSynchronizedRoutine. This routine resembles the StorPortSynchronizeAccess routine that is provided in the Storport I/O model. For more information about how Storport miniport drivers manage synchronized access of critical data structures, see Synchronized Access within Unsynchronized Miniport Driver Routines.

When an ATA miniport driver calls AtaPortRequestSynchronizedRoutine, it must supply a pointer to a callback routine. The callback routine processes the part of the I/O request that must be synchronized with the interrupt handler. For better performance, write your driver to spend as little time as possible to execute the callback routine.