James Hawkins : advpack:
Forward the FileSaveRestore API to their Unicode counterparts.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Mar 24 07:13:12 CST 2006
Module: wine
Branch: refs/heads/master
Commit: 9ec33414453683080177fe460fc8494f0a8d69e6
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9ec33414453683080177fe460fc8494f0a8d69e6
Author: James Hawkins <truiken at gmail.com>
Date: Thu Mar 23 23:10:43 2006 -0600
advpack: Forward the FileSaveRestore API to their Unicode counterparts.
---
dlls/advpack/advpack.spec | 4 +-
dlls/advpack/files.c | 81 ++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 74 insertions(+), 11 deletions(-)
diff --git a/dlls/advpack/advpack.spec b/dlls/advpack/advpack.spec
index 3b54041..7a71d77 100644
--- a/dlls/advpack/advpack.spec
+++ b/dlls/advpack/advpack.spec
@@ -23,10 +23,10 @@
@ stdcall FileSaveMarkNotExistW(wstr wstr wstr)
@ stdcall FileSaveMarkNotExist(str str str) FileSaveMarkNotExistA
@ stdcall FileSaveRestoreA(ptr str str str long)
-# stdcall FileSaveRestoreW(ptr wstr wstr wstr long)
+@ stdcall FileSaveRestoreW(ptr wstr wstr wstr long)
@ stdcall FileSaveRestore(ptr str str str long) FileSaveRestoreA
@ stdcall FileSaveRestoreOnINFA(ptr str str str str str long)
-# stdcall FileSaveRestoreOnINFW(ptr wstr wstr wstr wstr wstr long)
+@ stdcall FileSaveRestoreOnINFW(ptr wstr wstr wstr wstr wstr long)
@ stdcall FileSaveRestoreOnINF(ptr str str str str str long) FileSaveRestoreOnINFA
@ stdcall GetVersionFromFileA(str ptr ptr long)
@ stdcall GetVersionFromFileW(wstr ptr ptr long)
diff --git a/dlls/advpack/files.c b/dlls/advpack/files.c
index fa994e3..8900193 100644
--- a/dlls/advpack/files.c
+++ b/dlls/advpack/files.c
@@ -758,6 +758,34 @@ HRESULT WINAPI FileSaveMarkNotExistW(LPW
/***********************************************************************
* FileSaveRestoreA (ADVPACK.@)
*
+ * See FileSaveRestoreW.
+ */
+HRESULT WINAPI FileSaveRestoreA(HWND hDlg, LPSTR pszFileList, LPSTR pszDir,
+ LPSTR pszBaseName, DWORD dwFlags)
+{
+ UNICODE_STRING filelist, dir, basename;
+ HRESULT hr;
+
+ TRACE("(%p, %s, %s, %s, %ld)\n", hDlg, pszFileList, pszDir,
+ pszBaseName, dwFlags);
+
+ RtlCreateUnicodeStringFromAsciiz(&filelist, pszFileList);
+ RtlCreateUnicodeStringFromAsciiz(&dir, pszDir);
+ RtlCreateUnicodeStringFromAsciiz(&basename, pszBaseName);
+
+ hr = FileSaveRestoreW(hDlg, filelist.Buffer, dir.Buffer,
+ basename.Buffer, dwFlags);
+
+ RtlFreeUnicodeString(&filelist);
+ RtlFreeUnicodeString(&dir);
+ RtlFreeUnicodeString(&basename);
+
+ return hr;
+}
+
+/***********************************************************************
+ * FileSaveRestoreW (ADVPACK.@)
+ *
* Saves or restores the files in the specified file list.
*
* PARAMS
@@ -777,11 +805,11 @@ HRESULT WINAPI FileSaveMarkNotExistW(LPW
* BUGS
* Unimplemented.
*/
-HRESULT WINAPI FileSaveRestoreA(HWND hDlg, LPSTR pszFileList, LPSTR pszDir,
- LPSTR pszBaseName, DWORD dwFlags)
+HRESULT WINAPI FileSaveRestoreW(HWND hDlg, LPWSTR pszFileList, LPWSTR pszDir,
+ LPWSTR pszBaseName, DWORD dwFlags)
{
- FIXME("(%p, %p, %p, %p, %ld) stub\n", hDlg, pszFileList, pszDir,
- pszBaseName, dwFlags);
+ FIXME("(%p, %s, %s, %s, %ld) stub\n", hDlg, debugstr_w(pszFileList),
+ debugstr_w(pszDir), debugstr_w(pszBaseName), dwFlags);
return E_FAIL;
}
@@ -789,6 +817,40 @@ HRESULT WINAPI FileSaveRestoreA(HWND hDl
/***********************************************************************
* FileSaveRestoreOnINFA (ADVPACK.@)
*
+ * See FileSaveRestoreOnINFW.
+ */
+HRESULT WINAPI FileSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
+ LPCSTR pszSection, LPCSTR pszBackupDir,
+ LPCSTR pszBaseBackupFile, DWORD dwFlags)
+{
+ UNICODE_STRING title, inf, section;
+ UNICODE_STRING backupdir, backupfile;
+ HRESULT hr;
+
+ TRACE("(%p, %s, %s, %s, %s, %s, %ld) stub\n", hWnd, pszTitle, pszINF,
+ pszSection, pszBackupDir, pszBaseBackupFile, dwFlags);
+
+ RtlCreateUnicodeStringFromAsciiz(&title, pszTitle);
+ RtlCreateUnicodeStringFromAsciiz(&inf, pszINF);
+ RtlCreateUnicodeStringFromAsciiz(§ion, pszSection);
+ RtlCreateUnicodeStringFromAsciiz(&backupdir, pszBackupDir);
+ RtlCreateUnicodeStringFromAsciiz(&backupfile, pszBaseBackupFile);
+
+ hr = FileSaveRestoreOnINFW(hWnd, title.Buffer, inf.Buffer, section.Buffer,
+ backupdir.Buffer, backupfile.Buffer, dwFlags);
+
+ RtlFreeUnicodeString(&title);
+ RtlFreeUnicodeString(&inf);
+ RtlFreeUnicodeString(§ion);
+ RtlFreeUnicodeString(&backupdir);
+ RtlFreeUnicodeString(&backupfile);
+
+ return hr;
+}
+
+/***********************************************************************
+ * FileSaveRestoreOnINFW (ADVPACK.@)
+ *
*
* PARAMS
* hWnd [I] Handle to the window used for the display.
@@ -809,12 +871,13 @@ HRESULT WINAPI FileSaveRestoreA(HWND hDl
* BUGS
* Unimplemented.
*/
-HRESULT WINAPI FileSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
- LPCSTR pszSection, LPCSTR pszBackupDir,
- LPCSTR pszBaseBackupFile, DWORD dwFlags)
+HRESULT WINAPI FileSaveRestoreOnINFW(HWND hWnd, LPCWSTR pszTitle, LPCWSTR pszINF,
+ LPCWSTR pszSection, LPCWSTR pszBackupDir,
+ LPCWSTR pszBaseBackupFile, DWORD dwFlags)
{
- FIXME("(%p, %p, %p, %p, %p, %p, %ld) stub\n", hWnd, pszTitle, pszINF,
- pszSection, pszBackupDir, pszBaseBackupFile, dwFlags);
+ FIXME("(%p, %p, %p, %p, %p, %p, %ld) stub\n", hWnd, debugstr_w(pszTitle),
+ debugstr_w(pszINF), debugstr_w(pszSection), debugstr_w(pszBackupDir),
+ debugstr_w(pszBaseBackupFile), dwFlags);
return E_FAIL;
}
More information about the wine-cvs
mailing list