Common Cause of "Error performing inpage operation" ExplainedID: Q141117
|
When copying files from a diskette on a Windows NT computer, you may
occasionally experience an "Error performing inpage operation".
In this scenario, this error usually indicates physical problems on the
diskette media, and is probably unrelated to paging operations involving
the Windows NT paging file, despite the wording of the error message.
Copy utilities commonly use the CopyFile() Win32 API to copy files.
For small files (where small is arbitrarily defined in the Windows NT
source code as less than 256 kilobytes) the Windows NT 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 NT 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 NT 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.
For more information on memory-mapped files, refer to the following:
Additional query words: prodnt copy scopy xcopy robocopy winfile file manager
Keywords : kbnetwork ntutil
Version : winnt:3.5,3.51,4.0
Platform : winnt
Issue type :
Last Reviewed: August 3, 1999