Hans Leidekker : setupapi: Add stub implementations of SetupUninstallOEMInfA/W.
Alexandre Julliard
julliard at winehq.org
Wed May 13 10:19:43 CDT 2009
Module: wine
Branch: master
Commit: d5009479bb73e1662b1cdd46fc22ec1981f237ec
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d5009479bb73e1662b1cdd46fc22ec1981f237ec
Author: Hans Leidekker <hans at 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);
More information about the wine-cvs
mailing list