Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
a6c81e07
Commit
a6c81e07
authored
Jun 26, 2009
by
Aric Stewart
Committed by
Alexandre Julliard
Jun 26, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shell32: Implement SHCreateShellFolderView (ordinal 256).
Used by IE7's Add On management dialog.
parent
92246095
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
69 additions
and
28 deletions
+69
-28
shell32.spec
dlls/shell32/shell32.spec
+1
-1
shellord.c
dlls/shell32/shellord.c
+33
-27
shlobj.h
include/shlobj.h
+35
-0
No files found.
dlls/shell32/shell32.spec
View file @
a6c81e07
...
...
@@ -210,7 +210,7 @@
249 stdcall -noname PathParseIconLocation(ptr) PathParseIconLocationAW
250 stdcall -noname PathRemoveExtension(ptr) PathRemoveExtensionAW
251 stdcall -noname PathRemoveArgs(ptr) PathRemoveArgsAW
256 stdcall
@(ptr ptr) SHELL32_256
256 stdcall
SHCreateShellFolderView(ptr ptr)
258 stdcall -noname LinkWindow_RegisterClass()
259 stdcall -noname LinkWindow_UnregisterClass()
#299 stub Shl1632_ThunkData32
...
...
dlls/shell32/shellord.c
View file @
a6c81e07
...
...
@@ -1893,33 +1893,6 @@ HRESULT WINAPI SHCreateStdEnumFmtEtc(
return
hRes
;
}
/*************************************************************************
* SHELL32_256 (SHELL32.256)
*/
HRESULT
WINAPI
SHELL32_256
(
LPDWORD
lpdw0
,
LPDWORD
lpdw1
)
{
HRESULT
ret
=
S_OK
;
FIXME
(
"stub %p 0x%08x %p
\n
"
,
lpdw0
,
lpdw0
?
*
lpdw0
:
0
,
lpdw1
);
if
(
!
lpdw0
||
*
lpdw0
!=
0x10
)
ret
=
E_INVALIDARG
;
else
{
LPVOID
lpdata
=
0
;
/*LocalAlloc(LMEM_ZEROINIT, 0x4E4);*/
if
(
!
lpdata
)
ret
=
E_OUTOFMEMORY
;
else
{
/* Initialize and return unknown lpdata structure */
}
}
return
ret
;
}
/*************************************************************************
* SHFindFiles (SHELL32.90)
*/
...
...
@@ -2140,3 +2113,36 @@ HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
FIXME
(
"STUB: %i %s
\n
"
,
iImageList
,
debugstr_guid
(
riid
));
return
E_NOINTERFACE
;
}
/*************************************************************************
* SHCreateShellFolderView [SHELL32.256]
*
* Create a new instance of the default Shell folder view object.
*
* RETURNS
* Success: S_OK
* Failure: error value
*
* NOTES
* see IShellFolder::CreateViewObject
*/
HRESULT
WINAPI
SHCreateShellFolderView
(
const
SFV_CREATE
*
pcsfv
,
IShellView
**
ppsv
)
{
IShellView
*
psf
;
HRESULT
hRes
;
TRACE
(
"sf=%p outer=%p callback=%p
\n
"
,
pcsfv
->
pshf
,
pcsfv
->
psvOuter
,
pcsfv
->
psfvcb
);
psf
=
IShellView_Constructor
(
pcsfv
->
pshf
);
if
(
!
psf
)
return
E_OUTOFMEMORY
;
IShellView_AddRef
(
psf
);
hRes
=
IShellView_QueryInterface
(
psf
,
&
IID_IShellView
,
(
LPVOID
*
)
ppsv
);
IShellView_Release
(
psf
);
return
hRes
;
}
include/shlobj.h
View file @
a6c81e07
...
...
@@ -514,6 +514,31 @@ DECLARE_INTERFACE_(IACList2,IACList)
#define IACList2_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
#endif
/****************************************************************************
* IShellFolderViewCB interface
*/
#define INTERFACE IShellFolderViewCB
DECLARE_INTERFACE_
(
IShellFolderViewCB
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IShellFolderViewCB methods ***/
STDMETHOD
(
MessageSFVCB
)(
THIS_
UINT
uMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IShellFolderViewCB_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellFolderViewCB_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellFolderViewCB_Release(p) (p)->lpVtbl->Release(p)
/*** IShellFolderViewCB methods ***/
#define IShellFolderViewCB_MessageSFVCB(p,a,b,c) (p)->lpVtbl->MessageSFVCB(p,a,b,c)
#endif
/* IProgressDialog interface */
#define PROGDLG_NORMAL 0x00000000
#define PROGDLG_MODAL 0x00000001
...
...
@@ -737,6 +762,16 @@ HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
#define SFVM_GET_WEBVIEW_THEME 86
/* undocumented */
#define SFVM_GETDEFERREDVIEWSETTINGS 92
/* undocumented */
typedef
struct
_SFV_CREATE
{
UINT
cbSize
;
IShellFolder
*
pshf
;
IShellView
*
psvOuter
;
IShellFolderViewCB
*
psfvcb
;
}
SFV_CREATE
;
HRESULT
WINAPI
SHCreateShellFolderView
(
const
SFV_CREATE
*
pscfv
,
IShellView
**
ppsv
);
/* Types and definitions for the SFM_* parameters */
#include <pshpack8.h>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment