Problems with FSCTL_MOVE_FILE

Hello all:

I’m defragmenting a file by using FSCTL_GET_VOLUME_BITMAP,
FSCTL_GET_RETRIEVAL_POINTERS and FSCTL_MOVE_FILE and I’m experimenting some
problems over a machine with Windows 2000 Professional SP3. When I try to
move the file, sometimes I get a STATUS_INVALID_PARAMETER. I have checked
that the clusters where I’m trying to move the file are empty (and there’s
space enough) but the call fails randomly while most of the times it works.

If I update the machine up to SP4, the problem disappears. Is there any
known issue around W2K SP3 related to defraging a file? Is there any update?

Thanks in advance.

Jose Vicente.