1.6. Drivers and I/O Buffers

This section elaborates on I/O buffers, introduced earlier in this chapter. Drivers have to deal with buffers for their I/O and I/O control (IOCTL) operations. For this purpose, drivers specify a method of I/O that they prefer via their driver object. There are three types of I/O that a Windows NT driver may support: Buffered I/O, Direct I/O, and Neither I/O. These are described in Sections 1.6.1 through 1.6.3.

1.6.1. Buffered I/O

Buffered I/O is typically used for smaller data transfers because it involves some data copy operations. When an application makes an I/O request, the I/O Manager validates the request to ensure that the application has appropriate access to the buffer it passed in with the I/O operation ...

Get Inside Windows Storage: Server Storage Technologies for Windows® 2000, Windows® Server 2003, and Beyond now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.