[8/9] setupapi: implement SetupPromptForDiskA by wrapping around W version
Ricardo Filipe
ricardo_barbano at hotmail.com
Wed Feb 18 17:57:12 CST 2009
implemented the function's A version by translating the parameters to
Unicode and calling W version.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-patches/attachments/20090218/a168dbb1/attachment.htm
-------------- next part --------------
From e3b78f4df3708995c4b65ea3fd7062733442bc5b Mon Sep 17 00:00:00 2001
From: Ricardo Filipe <ricardo_barbano at hotmail.com>
Date: Wed, 18 Feb 2009 03:49:35 +0000
Subject: setupapi: implement SetupPromptForDiskA by wrapping around W version
---
dlls/setupapi/dialog.c | 39 +++++++++++++++++++++++++++++++++++++++
dlls/setupapi/stubs.c | 14 --------------
2 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/dlls/setupapi/dialog.c b/dlls/setupapi/dialog.c
index 58fc972..13ec0c6 100644
--- a/dlls/setupapi/dialog.c
+++ b/dlls/setupapi/dialog.c
@@ -187,6 +187,45 @@ static INT_PTR CALLBACK promptdisk_proc(HWND hwnd, UINT msg, WPARAM wParam, LPAR
}
/***********************************************************************
+ * SetupPromptForDiskA (SETUPAPI.@)
+ */
+UINT WINAPI SetupPromptForDiskA(HWND hwndParent, PCSTR DialogTitle, PCSTR DiskName,
+ PCSTR PathToSource, PCSTR FileSought, PCSTR TagFile, DWORD DiskPromptStyle,
+ PSTR PathBuffer, DWORD PathBufferSize, PDWORD PathRequiredSize)
+{
+ WCHAR *DialogTitleW, *DiskNameW, *PathToSourceW;
+ WCHAR *FileSoughtW, *TagFileW, *PathBufferW;
+ UINT ret;
+
+ TRACE("%p, %s, %s, %s, %s, %s, 0x%08x, %p, %d, %p\n", hwndParent, debugstr_a(DialogTitle),
+ debugstr_a(DiskName), debugstr_a(PathToSource), debugstr_a(FileSought),
+ debugstr_a(TagFile), DiskPromptStyle, PathBuffer, PathBufferSize,
+ PathRequiredSize);
+
+ DialogTitleW = MultiByteToUnicode(DialogTitle, CP_UTF8);
+ DiskNameW = MultiByteToUnicode(DiskName, CP_UTF8);
+ PathToSourceW = MultiByteToUnicode(PathToSource, CP_UTF8);
+ FileSoughtW = MultiByteToUnicode(FileSought, CP_UTF8);
+ TagFileW = MultiByteToUnicode(TagFile, CP_UTF8);
+ PathBufferW = MultiByteToUnicode(PathBuffer, CP_UTF8);
+
+ ret = SetupPromptForDiskW(hwndParent, DialogTitleW, DiskNameW, PathToSourceW,
+ FileSoughtW, TagFileW, DiskPromptStyle, PathBufferW, PathBufferSize,
+ PathRequiredSize);
+
+ HeapFree(GetProcessHeap(), 0, DialogTitleW);
+ HeapFree(GetProcessHeap(), 0, DiskNameW);
+ HeapFree(GetProcessHeap(), 0, PathToSourceW);
+ HeapFree(GetProcessHeap(), 0, FileSoughtW);
+ HeapFree(GetProcessHeap(), 0, TagFileW);
+
+ if(ret == DPROMPT_SUCCESS && PathBufferW)
+ WideCharToMultiByte(CP_UTF8, 0, PathBufferW, -1, PathBuffer, PathBufferSize, NULL, NULL);
+ HeapFree(GetProcessHeap(), 0, PathBufferW);
+ return ret;
+}
+
+/***********************************************************************
* SetupPromptForDiskW (SETUPAPI.@)
*/
UINT WINAPI SetupPromptForDiskW(HWND hwndParent, PCWSTR DialogTitle, PCWSTR DiskName,
diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c
index 287cb7e..3997447 100644
--- a/dlls/setupapi/stubs.c
+++ b/dlls/setupapi/stubs.c
@@ -247,20 +247,6 @@ BOOL WINAPI SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA ClassImageListData)
}
/***********************************************************************
- * SetupPromptForDiskA (SETUPAPI.@)
- */
-UINT WINAPI SetupPromptForDiskA(HWND hwndParent, PCSTR DialogTitle, PCSTR DiskName,
- PCSTR PathToSource, PCSTR FileSought, PCSTR TagFile, DWORD DiskPromptStyle,
- PSTR PathBuffer, DWORD PathBufferSize, PDWORD PathRequiredSize)
-{
- FIXME("%p %s %s %s %s %s %d %p %d %p: stub\n", hwndParent, debugstr_a(DialogTitle),
- debugstr_a(DiskName), debugstr_a(PathToSource), debugstr_a(FileSought),
- debugstr_a(TagFile), DiskPromptStyle, PathBuffer, PathBufferSize,
- PathRequiredSize);
- return 0;
-}
-
-/***********************************************************************
* CM_Locate_DevNodeA (SETUPAPI.@)
*/
CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags)
--
1.5.6.3
More information about the wine-patches
mailing list