Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
c14dbc5c
Commit
c14dbc5c
authored
Aug 08, 2005
by
Huw Davies
Committed by
Alexandre Julliard
Aug 08, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
IUnknown_SetSite calls IObjectWithSite_SetSite or
IInternetSecurityManager_SetSecuritySite.
parent
7782e723
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
39 deletions
+26
-39
ordinal.c
dlls/shlwapi/ordinal.c
+26
-39
No files found.
dlls/shlwapi/ordinal.c
View file @
c14dbc5c
...
...
@@ -74,11 +74,6 @@ extern HMODULE SHLWAPI_hversion;
extern
DWORD
SHLWAPI_ThreadRef_index
;
/* following is GUID for IObjectWithSite::SetSite -- see _174 */
static
DWORD
id1
[
4
]
=
{
0xfc4801a3
,
0x11cf2ba9
,
0xaa0029a2
,
0x52733d00
};
/* following is GUID for IPersistMoniker::GetClassID -- see _174 */
static
DWORD
id2
[
4
]
=
{
0x79eac9ee
,
0x11cebaf9
,
0xaa00828c
,
0x0ba94b00
};
/* Function pointers for GET_FUNC macro; these need to be global because of gcc bug */
typedef
LPITEMIDLIST
(
WINAPI
*
fnpSHBrowseForFolderW
)(
LPBROWSEINFOW
);
static
fnpSHBrowseForFolderW
pSHBrowseForFolderW
;
...
...
@@ -1496,47 +1491,39 @@ HRESULT WINAPI IUnknown_SetOwner(IUnknown *pUnk, ULONG arg)
/*************************************************************************
* @ [SHLWAPI.174]
*
* Call either IObjectWithSite_SetSite() or I
PersistMoniker_GetClassID
() on
* an
interface
.
* Call either IObjectWithSite_SetSite() or I
InternetSecurityManager_SetSecuritySite
() on
* an
object
.
*
* RETURNS
* Success: S_OK.
* Failure: E_FAIL, if p1 is NULL.
* E_NOINTERFACE If p1 does not support the IPersist interface,
* Or an HRESULT error code.
*/
DWORD
WINAPI
IUnknown_SetSite
(
IUnknown
*
p1
,
/* [in] OLE object
*/
LPVOID
*
p2
)
/* [out] ptr for call results
*/
HRESULT
WINAPI
IUnknown_SetSite
(
IUnknown
*
obj
,
/* [in] OLE object
*/
IUnknown
*
site
)
/* [in] Site interface
*/
{
DWORD
ret
,
aa
;
if
(
!
p1
)
return
E_FAIL
;
/* see if SetSite interface exists for IObjectWithSite object */
ret
=
IUnknown_QueryInterface
((
IUnknown
*
)
p1
,
(
REFIID
)
id1
,
(
LPVOID
*
)
&
p1
);
TRACE
(
"first IU_QI ret=%08lx, p1=%p
\n
"
,
ret
,
p1
);
if
(
ret
)
{
HRESULT
hr
;
IObjectWithSite
*
iobjwithsite
;
IInternetSecurityManager
*
isecmgr
;
/* see if GetClassId interface exists for IPersistMoniker object */
ret
=
IUnknown_QueryInterface
((
IUnknown
*
)
p1
,
(
REFIID
)
id2
,
(
LPVOID
*
)
&
aa
);
TRACE
(
"second IU_QI ret=%08lx, aa=%08lx
\n
"
,
ret
,
aa
);
if
(
ret
)
return
ret
;
if
(
!
obj
)
return
E_FAIL
;
/* fake a GetClassId call */
ret
=
IOleWindow_GetWindow
((
IOleWindow
*
)
aa
,
(
HWND
*
)
p2
);
TRACE
(
"second IU_QI doing 0x0c ret=%08lx, *p2=%08lx
\n
"
,
ret
,
*
(
LPDWORD
)
p2
);
IUnknown_Release
((
IUnknown
*
)
aa
);
hr
=
IUnknown_QueryInterface
(
obj
,
&
IID_IObjectWithSite
,
(
LPVOID
*
)
&
iobjwithsite
);
TRACE
(
"IID_IObjectWithSite QI ret=%08lx, %p
\n
"
,
hr
,
iobjwithsite
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
IObjectWithSite_SetSite
(
iobjwithsite
,
site
);
TRACE
(
"done IObjectWithSite_SetSite ret=%08lx
\n
"
,
hr
);
IUnknown_Release
(
iobjwithsite
);
}
else
{
/* fake a SetSite call */
ret
=
IOleWindow_GetWindow
((
IOleWindow
*
)
p1
,
(
HWND
*
)
p2
);
TRACE
(
"first IU_QI doing 0x0c ret=%08lx, *p2=%08lx
\n
"
,
ret
,
*
(
LPDWORD
)
p2
);
IUnknown_Release
((
IUnknown
*
)
p1
);
else
{
hr
=
IUnknown_QueryInterface
(
obj
,
&
IID_IInternetSecurityManager
,
(
LPVOID
*
)
&
isecmgr
);
TRACE
(
"IID_IInternetSecurityManager QI ret=%08lx, %p
\n
"
,
hr
,
isecmgr
);
if
(
FAILED
(
hr
))
return
hr
;
hr
=
IInternetSecurityManager_SetSecuritySite
(
isecmgr
,
(
IInternetSecurityMgrSite
*
)
site
);
TRACE
(
"done IInternetSecurityManager_SetSecuritySite ret=%08lx
\n
"
,
hr
);
IUnknown_Release
(
isecmgr
);
}
return
ret
;
return
hr
;
}
/*************************************************************************
...
...
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