The remarks section for the DuplicateHandle documentation say it won't allow each handle to have a different position:
For example, if you duplicate a file handle, the current file position is always the same for both handles. For file handles to have different file positions, use the CreateFile function to create file handles that share access to the same file.
So, for what you want to do, I think you'd need individual handles from CreateFile.