Module: wine Branch: master Commit: d5009479bb73e1662b1cdd46fc22ec1981f237ec URL: http://source.winehq.org/git/wine.git/?a=commit;h=d5009479bb73e1662b1cdd46fc...
Author: Hans Leidekker hans@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);