CopyFileW возвращает 0, но GetLastError также возвращает 0 - PullRequest
0 голосов
/ 26 марта 2012

Вызов CopyFileW из VBA, как показано ниже, с несуществующей целевой папкой дает значение 0, возвращаемое CopyFileW, но GetLastError также возвращает 0, указывая на успешную операцию.Как я могу получить код ошибки из-за сбоя операции CopyW?

Dim Ret As Long

sFrom = "\\?\UNC" & Mid(sFrom, 2)
Ret = CopyFileW(StrPtr(sFrom), StrPtr(sTo), False)

If Ret = 0 Then
        Call LogErrorFilFol(GetFileFromPath(sFrom), GetFolderFromPath(sFrom), _
        "WCopyFile error - " & ErrorMsg(GetLastError), FileID)
End If

1 Ответ

0 голосов
/ 26 ноября 2012

Не звоните GetLastError из VBA, используйте Err.LastDllError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...