Start a Conversation

Unsolved

This post is more than 5 years old

3234

October 1st, 2013 11:00

EMCopy Error: "\\?\UNC\"

I'm getting a weird error with EMCopy on just a handful of files.

Say for example the server name is "jonfileserver01" and the share name is "jonsshare"

Instead of emccopy giving a warning with the proper servername and share name like "WARNING : \\jonfileserver01\jonsshare\blablabla", instead some of the warnings look like this: "WARNING : \\?\UNC\jonfile01\jonsshare\blablabla"

Here's a screenshot. Notice the far right side of it:

CaptureForEMCForum.JPG.jpg

Usually the warning itself is about the file being unable to be opened. I'm guessing said files are use.

It doesn't do this with every file in use error either which is even more weird.

Has anyone seen the \\?\UNC\ error before?

I'm copying from a Windows 2003 server to a VNX CIFS share.

The command I'm running is:

emcopy_4_16\emcopy.exe \\jonfileserver01\jonsshare \\jonfileserver02\jonsshare /o /i /s /d /c /purge /r:5 /w:55 /log:c:\emcopytest100113.txt

Thanks

Jon

October 1st, 2013 13:00

Quick update, it looks like at first glance all the errors in questions have file paths over 200 characters.

Might be the issue, not sure yet. Will post back after I test more.

Jon

275 Posts

October 2nd, 2013 03:00

Wondering why you set switch /i, if there are local users on source you could user /lu (/lg for local groups)

Regarding ERROR (32) this what the Windows API returns to EMCopy (run "net helpmsg 32" from a Windows CMD, it says that the file is in use

As for the strange pathnames, this is just a naming convention, from Mirosoft (search on the web):

Maximum Path Length

In the Windows API, the maximum length for a path is MAX_PATH, which is defined as 260 characters. A path is structured in the following order: drive letter, colon, backslash, components separated by backslashes, and a null-terminating character, for example, the maximum path on the D drive is D:\<256 chars>NUL.

The Unicode versions of several functions permit a maximum path length of approximately 32,000 characters composed of components up to 255 characters in length. To specify that kind of path, use the "\\?\" prefix.

Note  The maximum path of 32,000 characters is approximate, because the "\\?\" prefix can be expanded to a longer string, and the expansion applies to the total length.

For example, "\\?\D:\ ". To specify such a UNC path, use the "\\?\UNC\" prefix. For example, "\\?\UNC\ \ ". These prefixes are not used as part of the path itself. They indicate that the path should be passed to the system with minimal modification, which means that you cannot use forward slashes to represent path separators, or a period to represent the current directory. Also, you cannot use the "\\?\" prefix with a relative path. Relative paths are limited to MAX_PATH characters.

When using the API to create a directory, the specified path cannot be so long that you cannot not append an 8.3 file name.

The shell and the file system may have different requirements. It is possible to create a path with the API that the shell UI cannot handle.


Claude

October 3rd, 2013 11:00

Thanks Claude!

For the pathname error explanation, I have never seen that before. Very interesting. Thanks!

For the /i question, I'm new to EMCopy and I'm exploring all the options. I was thinking about using /i to remove any local server Administrator ACEs during the copy. I don't want any local server ACEs at all.

275 Posts

October 3rd, 2013 11:00

As always run a test migration and check that ACLs are what you expect ...

If there are unknown SIDs in ACEs EMCopy will remove those ACEs on target and if the SID of the owner or primary group is unknown then they will be replaced by the SIDs of the user running the EMCopy command

Claude

No Events found!

Top