Hans Leidekker : setupapi: Add stub implementations of SetupUninstallOEMInfA/W.
Module: wine Branch: master Commit: d5009479bb73e1662b1cdd46fc22ec1981f237ec URL: http://source.winehq.org/git/wine.git/?a=commit;h=d5009479bb73e1662b1cdd46fc... Author: Hans Leidekker <hans(a)codeweavers.com> Date: Wed May 13 10:50:15 2009 +0200 setupapi: Add stub implementations of SetupUninstallOEMInfA/W. --- dlls/setupapi/misc.c | 39 +++++++++++++++++++++++++++++++++++++++ dlls/setupapi/setupapi.spec | 2 ++ include/setupapi.h | 3 +++ 3 files changed, 44 insertions(+), 0 deletions(-) diff --git a/dlls/setupapi/misc.c b/dlls/setupapi/misc.c index 63320e6..36d52ba 100644 --- a/dlls/setupapi/misc.c +++ b/dlls/setupapi/misc.c @@ -1114,6 +1114,45 @@ BOOL WINAPI SetupCopyOEMInfW( PCWSTR source, PCWSTR location, } /*********************************************************************** + * SetupUninstallOEMInfA (SETUPAPI.@) + */ +BOOL WINAPI SetupUninstallOEMInfA( PCSTR inf_file, DWORD flags, PVOID reserved ) +{ + BOOL ret; + WCHAR *inf_fileW = NULL; + + TRACE("%s, 0x%08x, %p\n", debugstr_a(inf_file), flags, reserved); + + if (inf_file && !(inf_fileW = strdupAtoW( inf_file ))) return FALSE; + ret = SetupUninstallOEMInfW( inf_fileW, flags, reserved ); + HeapFree( GetProcessHeap(), 0, inf_fileW ); + return ret; +} + +/*********************************************************************** + * SetupUninstallOEMInfW (SETUPAPI.@) + */ +BOOL WINAPI SetupUninstallOEMInfW( PCWSTR inf_file, DWORD flags, PVOID reserved ) +{ + static const WCHAR infW[] = {'\\','i','n','f','\\',0}; + WCHAR target[MAX_PATH]; + + TRACE("%s, 0x%08x, %p\n", debugstr_w(inf_file), flags, reserved); + + if (!GetWindowsDirectoryW( target, sizeof(target)/sizeof(WCHAR) )) return FALSE; + + strcatW( target, infW ); + strcatW( target, inf_file ); + + if (flags & SUOI_FORCEDELETE) + return DeleteFileW(target); + + FIXME("not deleting %s\n", debugstr_w(target)); + + return TRUE; +} + +/*********************************************************************** * InstallCatalog (SETUPAPI.@) */ DWORD WINAPI InstallCatalog( LPCSTR catalog, LPCSTR basename, LPSTR fullname ) diff --git a/dlls/setupapi/setupapi.spec b/dlls/setupapi/setupapi.spec index cd7bf62..d620399 100644 --- a/dlls/setupapi/setupapi.spec +++ b/dlls/setupapi/setupapi.spec @@ -526,6 +526,8 @@ @ stdcall SetupSetSourceListW(long ptr long) @ stdcall SetupTermDefaultQueueCallback(ptr) @ stdcall SetupTerminateFileLog(long) +@ stdcall SetupUninstallOEMInfA(str long ptr) +@ stdcall SetupUninstallOEMInfW(wstr long ptr) @ stub ShouldDeviceBeExcluded @ stdcall StampFileSecurity(wstr ptr) @ stdcall StringTableAddString(ptr wstr long) diff --git a/include/setupapi.h b/include/setupapi.h index 009af29..c4e1664 100644 --- a/include/setupapi.h +++ b/include/setupapi.h @@ -1391,6 +1391,9 @@ typedef enum { /* SetupConfigureWmiFromInfSection Flags values */ #define SCWMI_CLOBBER_SECURITY 0x00000001 +/* SetupUninstallOEMInf Flags values */ +#define SUOI_FORCEDELETE 0x00000001 + LONG WINAPI AddTagToGroupOrderList(PCWSTR lpGroupName, DWORD dwUnknown2, DWORD dwUnknown3); DWORD WINAPI CaptureAndConvertAnsiArg(PCSTR lpSrc, PWSTR *lpDst); DWORD WINAPI CaptureStringArg(PCWSTR lpSrc, PWSTR *lpDst);
participants (1)
-
Alexandre Julliard