Implement DelayedMove and FileExists.

svn path=/trunk/; revision=13403
This commit is contained in:
Eric Kohl 2005-02-04 12:27:34 +00:00
parent f09c1928ae
commit fc76ea5157
3 changed files with 47 additions and 2 deletions

View file

@ -666,9 +666,11 @@ DECL_WINELIB_SETUPAPI_TYPE_AW(PFILEPATHS)
LONG WINAPI AddTagToGroupOrderList(PCWSTR lpGroupName, DWORD dwUnknown2, DWORD dwUnknown3);
BOOL WINAPI DelayedMove(PCWSTR lpExistingFileName, PCWSTR lpNewFileName);
BOOL WINAPI DoesUserHavePrivilege(PCWSTR lpPrivilegeName);
PWSTR WINAPI DuplicateString(PCWSTR lpSrc);
BOOL WINAPI EnablePrivilege(PCWSTR lpPrivilegeName, BOOL bEnable);
BOOL WINAPI FileExists(PCWSTR lpFileName, PWIN32_FIND_DATAW lpFileFindData);
void WINAPI InstallHinfSectionA( HWND hwnd, HINSTANCE handle, PCSTR cmdline, INT show );
void WINAPI InstallHinfSectionW( HWND hwnd, HINSTANCE handle, PCWSTR cmdline, INT show );
#define InstallHinfSection WINELIB_NAME_AW(InstallHinfSection)

View file

@ -30,6 +30,9 @@
#include "wine/unicode.h"
#include "wine/debug.h"
#include "setupapi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(setupapi);
@ -458,3 +461,43 @@ BOOL WINAPI EnablePrivilege(LPCWSTR lpPrivilegeName, BOOL bEnable)
return bResult;
}
BOOL WINAPI DelayedMove(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName)
{
if (OsVersionInfo.dwPlatformId != VER_PLATFORM_WIN32_NT)
{
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
return MoveFileExW(lpExistingFileName, lpNewFileName,
MOVEFILE_REPLACE_EXISTING | MOVEFILE_DELAY_UNTIL_REBOOT);
}
BOOL WINAPI FileExists(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFileFindData)
{
WIN32_FIND_DATAW FindData;
HANDLE hFind;
UINT uErrorMode;
DWORD dwError;
uErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS);
hFind = FindFirstFileW(lpFileName, &FindData);
if (hFind == INVALID_HANDLE_VALUE)
{
dwError = GetLastError();
SetErrorMode(uErrorMode);
SetLastError(dwError);
return FALSE;
}
FindClose(hFind);
if (lpFileFindData)
memcpy(lpFileFindData, &FindData, sizeof(WIN32_FIND_DATAW));
return TRUE;
}

View file

@ -194,14 +194,14 @@
@ stub CaptureStringArg
@ stub CenterWindowRelativeToParent
@ stub ConcatenatePaths
@ stub DelayedMove
@ stdcall DelayedMove(wstr wstr)
@ stub DelimStringToMultiSz
@ stub DestroyTextFileReadBuffer
@ stdcall DoesUserHavePrivilege(wstr)
@ stdcall DuplicateString(wstr)
@ stdcall EnablePrivilege(wstr long)
@ stub ExtensionPropSheetPageProc
@ stub FileExists
@ stdcall FileExists(wstr ptr)
@ stub FreeStringArray
@ stub GetCurrentDriverSigningPolicy
@ stub GetNewInfName