What is the maximum size of data that can be copied and pasted on Windows?



When copying and pasting text or files on Windows, the data is stored in an area called the ' clipboard '. Raymond Chen , the main developer of Windows, explains the maximum size of data that can be saved in this clipboard and the mechanism of copy and paste.

Is there a maximum size for Windows clipboard data? Because I'm getting null for something I know should be there --The Old New Thing
https://devblogs.microsoft.com/oldnewthing/20220608-00/?p=106727

One user asked why Mr. Chen posted a commentary on the clipboard. The user tried to copy and paste a cell in a huge Excel file with over 300,000 rows, but it failed. In Windows, the function ' GetClipboardData ' is used to get the contents of the clipboard, but as a result of user analysis, when trying to copy a cell of an Excel file that exceeds 300,000 rows, the execution of 'GetClipboardData' fails. It turned out. From this, the user thought, 'Data storage in the clipboard failed because the data in Excel is too large,' and asked Mr. Chen the maximum size that can be saved in the clipboard.

In response to the above question, Mr. Chen replied, ' Windows does not set the maximum amount of data that can be stored in the clipboard, and the amount of data that can be stored depends on the amount of memory that can be used .' Furthermore, he points out that the above Excel data copy and paste failure is not related to 'the amount of data that can be stored in the clipboard', but to another cause.



There are two ways an application running on Windows can store data in the clipboard. One is to store the data directly in the clipboard, and the other is to give the command 'request the application to output the data when the clipboard is called' without storing the data in the clipboard. The latter method is called ' delayed rendering ', and Excel uses deferred rendering when copying rich text.

Windows waits up to 30 seconds until the data is returned when 'GetClipboardData' to get the contents of the clipboard is executed, but if the waiting time exceeds 30 seconds, 'GetClipboardData' means NULL. Will be returned. In other words, for the above users, the size of the Excel data is too large, so delayed rendering takes more than 30 seconds, and copy and paste fails.

Mr. Chen will explain how to extend the timeout period of '30 seconds' in the future.

in Software, Posted by log1o_hf