summaryrefslogtreecommitdiff
path: root/ui/IFileDialog_Vista/ifile_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/IFileDialog_Vista/ifile_dialog.h')
-rw-r--r--ui/IFileDialog_Vista/ifile_dialog.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/ui/IFileDialog_Vista/ifile_dialog.h b/ui/IFileDialog_Vista/ifile_dialog.h
index d0099dda..5b4dc532 100644
--- a/ui/IFileDialog_Vista/ifile_dialog.h
+++ b/ui/IFileDialog_Vista/ifile_dialog.h
@@ -25,12 +25,15 @@ namespace ifile
//COM needs to be initialized before calling any of these functions! CoInitializeEx/CoUninitialize
//Requires Windows Vista and later
+typedef char GuidProxy[16]; //= Windows 128-bit GUID; we don't want to include "Guiddef.h" here!
+
DLL_FUNCTION_DECLARATION
void showFolderPicker(void* ownerWindow, //in; ==HWND
const wchar_t* defaultFolder, //in, optional!
- const wchar_t*& selectedFolder, //out: call freeString() after use!
+ const GuidProxy* guid, //set nullptr by default: Windows stores dialog state (position, x, y coordinates, ect.) associated with the process executable name => use other GUID when needed
+ wchar_t*& selectedFolder, //out: call freeString() after use!
bool& cancelled, //out
- const wchar_t*& errorMsg); //out, optional: call freeString() after use!
+ wchar_t*& errorMsg); //out, optional: call freeString() after use!
DLL_FUNCTION_DECLARATION
void freeString(const wchar_t* str);
@@ -40,9 +43,10 @@ void freeString(const wchar_t* str);
----------*/
typedef bool (*FunType_showFolderPicker)(void* ownerWindow,
const wchar_t* defaultFolder,
- const wchar_t*& selectedFolder,
+ const GuidProxy* guid,
+ wchar_t*& selectedFolder,
bool& cancelled,
- const wchar_t*& errorMsg);
+ wchar_t*& errorMsg);
typedef void (*FunType_freeString)(const wchar_t* str);
/*--------------
bgstack15