R
RussR
Hi,
What am I trying to achieve is to move a directory (or a set of files using
wildcards) from one computer on the network to another using a C++ program
The systems are running WindowsXP Professional. Permissions on each
directory is set to FULL for Everyone.
So for example, \\computerA runs a code that will move the directory,
\\computerB\\apps to c:\apps, where c:\apps is on computerA.
Here's where I got the line of code that I'm using to move files.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/movefileex.asp
void main() {
//here's the line of code that does the moving
int result= MoveFileEx("\\\\computerB\\apps","c:\\apps",
MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING
MOVEFILE_WRITE_THROUGH);
//this is to print out the error message when it fails
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
printf("%s\n",lpMsgBuf);
// Free the buffer.
LocalFree( lpMsgBuf );
}
I get an error message usually saying access denied. Permissions are all
set full for everyone, so I'm stumped. If I change it to copy from one
directory on my computer to another directory on my computer, it only works
if the target directory doesn't already exist. If it does exist, I get an
access denied error....why? I've set all the MOVEFILE flags to avoid this.
Thanks,
RussR
What am I trying to achieve is to move a directory (or a set of files using
wildcards) from one computer on the network to another using a C++ program
The systems are running WindowsXP Professional. Permissions on each
directory is set to FULL for Everyone.
So for example, \\computerA runs a code that will move the directory,
\\computerB\\apps to c:\apps, where c:\apps is on computerA.
Here's where I got the line of code that I'm using to move files.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/movefileex.asp
void main() {
//here's the line of code that does the moving
int result= MoveFileEx("\\\\computerB\\apps","c:\\apps",
MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING
MOVEFILE_WRITE_THROUGH);
//this is to print out the error message when it fails
LPVOID lpMsgBuf;
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
printf("%s\n",lpMsgBuf);
// Free the buffer.
LocalFree( lpMsgBuf );
}
I get an error message usually saying access denied. Permissions are all
set full for everyone, so I'm stumped. If I change it to copy from one
directory on my computer to another directory on my computer, it only works
if the target directory doesn't already exist. If it does exist, I get an
access denied error....why? I've set all the MOVEFILE flags to avoid this.
Thanks,
RussR