In this scenario, this error usually indicates physical problems on the diskette media, and is probably unrelated to paging operations involving the Windows paging file, despite the wording of the error message.
For small files (where small is arbitrarily defined in the Windows source code as less than 256 kilobytes) the Windows CopyFile() API does not actually open the source file and read from it using the CreateFile() and ReadFile() APIs as might be expected.
Instead, the CopyFile() API creates a File Mapping and maps the file into virtual memory. Data is then read from the file by simply accessing this memory. As the memory is accessed, the required portions of the file are paged into memory on demand. This leverages the paging functionality of the Windows Virtual Memory Manager, but introduces the jargon of Paging into this particular file copy scenario.
Consequently, if I/O errors occur while processing a CopyFile() API for a "small" file, they will not be reported as File I/O Errors. Instead, as these errors are detected in what is effectively a paging operation (albeit unrelated to the Windows paging file), they will be reported as "Error performing inpage operation".
Additionally, errors caused by network connectivity can cause these errors. Mismatched MTU sizes or truncation of a packet at a router can result in this error when files larger than the largest packet size are copied over the network. In essence, the network connection is the media that has the physical problem.
- Helen Custer's "Inside Windows NT", Section 6.2.1, "Sharing Memory".
- The Win32 Programmer's Reference, Volume 2, Chapter 47, "File Mapping".
Article ID: 141117 - Last Review: Feb 22, 2007 - Revision: 1