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
07c3e134
Commit
07c3e134
authored
Feb 11, 2014
by
Jacek Caban
Committed by
Alexandre Julliard
Feb 11, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wmp: Added IOleInPlaceObjectWindowless stub implementation.
parent
d1691bc2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
113 additions
and
0 deletions
+113
-0
oleobj.c
dlls/wmp/oleobj.c
+109
-0
oleobj.c
dlls/wmp/tests/oleobj.c
+4
-0
No files found.
dlls/wmp/oleobj.c
View file @
07c3e134
...
...
@@ -26,6 +26,7 @@ struct WindowsMediaPlayer {
IOleObject
IOleObject_iface
;
IProvideClassInfo2
IProvideClassInfo2_iface
;
IPersistStreamInit
IPersistStreamInit_iface
;
IOleInPlaceObjectWindowless
IOleInPlaceObjectWindowless_iface
;
LONG
ref
;
...
...
@@ -68,6 +69,15 @@ static HRESULT WINAPI OleObject_QueryInterface(IOleObject *iface, REFIID riid, v
}
else
if
(
IsEqualGUID
(
riid
,
&
IID_IPersistStreamInit
))
{
TRACE
(
"(%p)->(IID_IPersistStreamInit %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IPersistStreamInit_iface
;
}
else
if
(
IsEqualGUID
(
riid
,
&
IID_IOleWindow
))
{
TRACE
(
"(%p)->(IID_IOleWindow %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IOleInPlaceObjectWindowless_iface
;
}
else
if
(
IsEqualGUID
(
riid
,
&
IID_IOleInPlaceObject
))
{
TRACE
(
"(%p)->(IID_IOleInPlaceObject %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IOleInPlaceObjectWindowless_iface
;
}
else
if
(
IsEqualGUID
(
riid
,
&
IID_IOleInPlaceObjectWindowless
))
{
TRACE
(
"(%p)->(IID_IOleInPlaceObjectWindowless %p)
\n
"
,
This
,
ppv
);
*
ppv
=
&
This
->
IOleInPlaceObjectWindowless_iface
;
}
else
{
FIXME
(
"(%p)->(%s %p)
\n
"
,
This
,
debugstr_guid
(
riid
),
ppv
);
*
ppv
=
NULL
;
...
...
@@ -318,6 +328,104 @@ static const IOleObjectVtbl OleObjectVtbl = {
OleObject_SetColorScheme
};
static
inline
WindowsMediaPlayer
*
impl_from_IOleInPlaceObjectWindowless
(
IOleInPlaceObjectWindowless
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
WindowsMediaPlayer
,
IOleInPlaceObjectWindowless_iface
);
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_QueryInterface
(
IOleInPlaceObjectWindowless
*
iface
,
REFIID
riid
,
void
**
ppv
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
return
IOleObject_QueryInterface
(
&
This
->
IOleObject_iface
,
riid
,
ppv
);
}
static
ULONG
WINAPI
OleInPlaceObjectWindowless_AddRef
(
IOleInPlaceObjectWindowless
*
iface
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
return
IOleObject_AddRef
(
&
This
->
IOleObject_iface
);
}
static
ULONG
WINAPI
OleInPlaceObjectWindowless_Release
(
IOleInPlaceObjectWindowless
*
iface
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
return
IOleObject_Release
(
&
This
->
IOleObject_iface
);
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_GetWindow
(
IOleInPlaceObjectWindowless
*
iface
,
HWND
*
phwnd
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
phwnd
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_ContextSensitiveHelp
(
IOleInPlaceObjectWindowless
*
iface
,
BOOL
fEnterMode
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)->(%x)
\n
"
,
This
,
fEnterMode
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_InPlaceDeactivate
(
IOleInPlaceObjectWindowless
*
iface
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_UIDeactivate
(
IOleInPlaceObjectWindowless
*
iface
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_SetObjectRects
(
IOleInPlaceObjectWindowless
*
iface
,
LPCRECT
lprcPosRect
,
LPCRECT
lprcClipRect
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
lprcPosRect
,
lprcClipRect
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_ReactivateAndUndo
(
IOleInPlaceObjectWindowless
*
iface
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)
\n
"
,
This
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_OnWindowMessage
(
IOleInPlaceObjectWindowless
*
iface
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
,
LRESULT
*
lpResult
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)->(%u %lu %lu %p)
\n
"
,
This
,
msg
,
wParam
,
lParam
,
lpResult
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
OleInPlaceObjectWindowless_GetDropTarget
(
IOleInPlaceObjectWindowless
*
iface
,
IDropTarget
**
ppDropTarget
)
{
WindowsMediaPlayer
*
This
=
impl_from_IOleInPlaceObjectWindowless
(
iface
);
FIXME
(
"(%p)->(%p)
\n
"
,
This
,
ppDropTarget
);
return
E_NOTIMPL
;
}
static
const
IOleInPlaceObjectWindowlessVtbl
OleInPlaceObjectWindowlessVtbl
=
{
OleInPlaceObjectWindowless_QueryInterface
,
OleInPlaceObjectWindowless_AddRef
,
OleInPlaceObjectWindowless_Release
,
OleInPlaceObjectWindowless_GetWindow
,
OleInPlaceObjectWindowless_ContextSensitiveHelp
,
OleInPlaceObjectWindowless_InPlaceDeactivate
,
OleInPlaceObjectWindowless_UIDeactivate
,
OleInPlaceObjectWindowless_SetObjectRects
,
OleInPlaceObjectWindowless_ReactivateAndUndo
,
OleInPlaceObjectWindowless_OnWindowMessage
,
OleInPlaceObjectWindowless_GetDropTarget
};
static
inline
WindowsMediaPlayer
*
impl_from_IProvideClassInfo2
(
IProvideClassInfo2
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
WindowsMediaPlayer
,
IProvideClassInfo2_iface
);
...
...
@@ -466,6 +574,7 @@ HRESULT WINAPI WMPFactory_CreateInstance(IClassFactory *iface, IUnknown *outer,
wmp
->
IOleObject_iface
.
lpVtbl
=
&
OleObjectVtbl
;
wmp
->
IProvideClassInfo2_iface
.
lpVtbl
=
&
ProvideClassInfo2Vtbl
;
wmp
->
IPersistStreamInit_iface
.
lpVtbl
=
&
PersistStreamInitVtbl
;
wmp
->
IOleInPlaceObjectWindowless_iface
.
lpVtbl
=
&
OleInPlaceObjectWindowlessVtbl
;
wmp
->
ref
=
1
;
...
...
dlls/wmp/tests/oleobj.c
View file @
07c3e134
...
...
@@ -622,6 +622,10 @@ static void test_QI(IUnknown *unk)
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IQuickActivate
,
(
void
**
)
&
tmp
);
ok
(
hres
==
E_NOINTERFACE
,
"Got IQuickActivate iface when no expected
\n
"
);
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleInPlaceObjectWindowless
,
(
void
**
)
&
tmp
);
ok
(
hres
==
S_OK
,
"Could not get IOleInPlaceObjectWindowless iface: %08x
\n
"
,
hres
);
IUnknown_Release
(
tmp
);
}
static
void
test_wmp
(
void
)
...
...
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