Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
wine
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Package registry
Container Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Alexey Alyaev
wine
Commits
7b3c6307
Commit
7b3c6307
authored
11 years ago
by
Michael Stefaniuc
Committed by
Alexandre Julliard
11 years ago
Browse files
Options
Downloads
Patches
Plain Diff
dmscript: COM cleanup for IDirectMusicTrack8 from DirectMusicScriptTrack.
parent
c56151fa
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
dlls/dmscript/dmscript_private.h
+0
-16
0 additions, 16 deletions
dlls/dmscript/dmscript_private.h
dlls/dmscript/scripttrack.c
+53
-32
53 additions, 32 deletions
dlls/dmscript/scripttrack.c
with
53 additions
and
48 deletions
dlls/dmscript/dmscript_private.h
+
0
−
16
View file @
7b3c6307
...
...
@@ -47,8 +47,6 @@
*/
typedef
struct
IDirectMusicScriptImpl
IDirectMusicScriptImpl
;
typedef
struct
IDirectMusicScriptTrack
IDirectMusicScriptTrack
;
/*****************************************************************************
* ClassFactory
*/
...
...
@@ -74,20 +72,6 @@ struct IDirectMusicScriptImpl {
WCHAR
*
pwzSource
;
};
/*****************************************************************************
* IDirectMusicScriptTrack implementation structure
*/
struct
IDirectMusicScriptTrack
{
/* IUnknown fields */
const
IUnknownVtbl
*
UnknownVtbl
;
const
IDirectMusicTrack8Vtbl
*
TrackVtbl
;
const
IPersistStreamVtbl
*
PersistStreamVtbl
;
LONG
ref
;
/* IDirectMusicScriptTrack fields */
LPDMUS_OBJECTDESC
pDesc
;
};
/**********************************************************************
* Dll lifetime tracking declaration for dmscript.dll
*/
...
...
This diff is collapsed.
Click to expand it.
dlls/dmscript/scripttrack.c
+
53
−
32
View file @
7b3c6307
...
...
@@ -25,6 +25,21 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmscript);
* IDirectMusicScriptTrack implementation
*/
typedef
struct
DirectMusicScriptTrack
{
const
IUnknownVtbl
*
UnknownVtbl
;
IDirectMusicTrack8
IDirectMusicTrack8_iface
;
const
IPersistStreamVtbl
*
PersistStreamVtbl
;
LONG
ref
;
LPDMUS_OBJECTDESC
pDesc
;
}
DirectMusicScriptTrack
;
typedef
struct
DirectMusicScriptTrack
IDirectMusicScriptTrack
;
static
inline
DirectMusicScriptTrack
*
impl_from_IDirectMusicTrack8
(
IDirectMusicTrack8
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
DirectMusicScriptTrack
,
IDirectMusicTrack8_iface
);
}
/* IDirectMusicScriptTrack IUnknown part: */
static
HRESULT
WINAPI
IDirectMusicScriptTrack_IUnknown_QueryInterface
(
LPUNKNOWN
iface
,
REFIID
riid
,
LPVOID
*
ppobj
)
{
ICOM_THIS_MULTI
(
IDirectMusicScriptTrack
,
UnknownVtbl
,
iface
);
...
...
@@ -36,8 +51,8 @@ static HRESULT WINAPI IDirectMusicScriptTrack_IUnknown_QueryInterface (LPUNKNOWN
return
S_OK
;
}
else
if
(
IsEqualIID
(
riid
,
&
IID_IDirectMusicTrack
)
||
IsEqualIID
(
riid
,
&
IID_IDirectMusicTrack8
))
{
*
ppobj
=
(
LPDIRECTMUSICTRACK8
)
&
This
->
TrackVtbl
;
IDirectMusicTrack_AddRef
((
LPDIRECTMUSICTRACK8
)
&
This
->
TrackVtbl
);
*
ppobj
=
&
This
->
IDirectMusicTrack8_iface
;
IDirectMusicTrack_AddRef
(
&
This
->
IDirectMusicTrack8_iface
);
return
S_OK
;
}
else
if
(
IsEqualIID
(
riid
,
&
IID_IPersistStream
))
{
*
ppobj
=
&
This
->
PersistStreamVtbl
;
...
...
@@ -83,28 +98,28 @@ static const IUnknownVtbl DirectMusicScriptTrack_Unknown_Vtbl = {
/* IDirectMusicScriptTrack IDirectMusicTrack8 part: */
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_QueryInterface
(
IDirectMusicTrack8
*
iface
,
REFIID
riid
,
void
**
ppobj
)
void
**
ret_iface
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
return
IDirectMusicScriptTrack_IUnknown_QueryInterface
((
LPUNKNOWN
)
&
This
->
UnknownVtbl
,
riid
,
ppobj
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
return
IDirectMusicScriptTrack_IUnknown_QueryInterface
((
LPUNKNOWN
)
&
This
->
UnknownVtbl
,
riid
,
ret_iface
);
}
static
ULONG
WINAPI
IDirectMusicTrack8Impl_AddRef
(
IDirectMusicTrack8
*
iface
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
return
IDirectMusicScriptTrack_IUnknown_AddRef
((
LPUNKNOWN
)
&
This
->
UnknownVtbl
);
}
static
ULONG
WINAPI
IDirectMusicTrack8Impl_Release
(
IDirectMusicTrack8
*
iface
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
return
IDirectMusicScriptTrack_IUnknown_Release
((
LPUNKNOWN
)
&
This
->
UnknownVtbl
);
}
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_Init
(
IDirectMusicTrack8
*
iface
,
IDirectMusicSegment
*
pSegment
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p): stub
\n
"
,
This
,
pSegment
);
return
S_OK
;
}
...
...
@@ -113,14 +128,14 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_InitPlay(IDirectMusicTrack8 *iface,
IDirectMusicSegmentState
*
pSegmentState
,
IDirectMusicPerformance
*
pPerformance
,
void
**
ppStateData
,
DWORD
dwVirtualTrack8ID
,
DWORD
dwFlags
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p, %p, %p, %d, %d): stub
\n
"
,
This
,
pSegmentState
,
pPerformance
,
ppStateData
,
dwVirtualTrack8ID
,
dwFlags
);
return
S_OK
;
}
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_EndPlay
(
IDirectMusicTrack8
*
iface
,
void
*
pStateData
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p): stub
\n
"
,
This
,
pStateData
);
return
S_OK
;
}
...
...
@@ -129,7 +144,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
MUSIC_TIME
mtOffset
,
DWORD
dwFlags
,
IDirectMusicPerformance
*
pPerf
,
IDirectMusicSegmentState
*
pSegSt
,
DWORD
dwVirtualID
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p, %d, %d, %d, %d, %p, %p, %d): stub
\n
"
,
This
,
pStateData
,
mtStart
,
mtEnd
,
mtOffset
,
dwFlags
,
pPerf
,
pSegSt
,
dwVirtualID
);
return
S_OK
;
}
...
...
@@ -137,7 +152,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Play(IDirectMusicTrack8 *iface, voi
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_GetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, %d, %p, %p): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
mtTime
,
pmtNext
,
pParam
);
return
S_OK
;
}
...
...
@@ -145,7 +160,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_GetParam(IDirectMusicTrack8 *iface,
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_SetParam
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, %d, %p): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
mtTime
,
pParam
);
return
S_OK
;
}
...
...
@@ -153,7 +168,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_SetParam(IDirectMusicTrack8 *iface,
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_IsParamSupported
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidType
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
TRACE
(
"(%p, %s)
\n
"
,
This
,
debugstr_dmguid
(
rguidType
));
/* didn't find any params */
...
...
@@ -164,7 +179,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_IsParamSupported(IDirectMusicTrack8
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_AddNotificationType
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidNotificationType
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidNotificationType
));
return
S_OK
;
}
...
...
@@ -172,7 +187,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_AddNotificationType(IDirectMusicTra
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_RemoveNotificationType
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidNotificationType
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidNotificationType
));
return
S_OK
;
}
...
...
@@ -180,7 +195,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_RemoveNotificationType(IDirectMusic
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_Clone
(
IDirectMusicTrack8
*
iface
,
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
IDirectMusicTrack
**
ppTrack
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %d, %d, %p): stub
\n
"
,
This
,
mtStart
,
mtEnd
,
ppTrack
);
return
S_OK
;
}
...
...
@@ -189,7 +204,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_PlayEx(IDirectMusicTrack8 *iface, v
REFERENCE_TIME
rtStart
,
REFERENCE_TIME
rtEnd
,
REFERENCE_TIME
rtOffset
,
DWORD
dwFlags
,
IDirectMusicPerformance
*
pPerf
,
IDirectMusicSegmentState
*
pSegSt
,
DWORD
dwVirtualID
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p, 0x%s, 0x%s, 0x%s, %d, %p, %p, %d): stub
\n
"
,
This
,
pStateData
,
wine_dbgstr_longlong
(
rtStart
),
wine_dbgstr_longlong
(
rtEnd
),
wine_dbgstr_longlong
(
rtOffset
),
dwFlags
,
pPerf
,
pSegSt
,
dwVirtualID
);
return
S_OK
;
...
...
@@ -199,7 +214,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_GetParamEx(IDirectMusicTrack8 *ifac
REFGUID
rguidType
,
REFERENCE_TIME
rtTime
,
REFERENCE_TIME
*
prtNext
,
void
*
pParam
,
void
*
pStateData
,
DWORD
dwFlags
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, 0x%s, %p, %p, %p, %d): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
wine_dbgstr_longlong
(
rtTime
),
prtNext
,
pParam
,
pStateData
,
dwFlags
);
return
S_OK
;
...
...
@@ -208,7 +223,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_GetParamEx(IDirectMusicTrack8 *ifac
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_SetParamEx
(
IDirectMusicTrack8
*
iface
,
REFGUID
rguidType
,
REFERENCE_TIME
rtTime
,
void
*
pParam
,
void
*
pStateData
,
DWORD
dwFlags
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %s, 0x%s, %p, %p, %d): stub
\n
"
,
This
,
debugstr_dmguid
(
rguidType
),
wine_dbgstr_longlong
(
rtTime
),
pParam
,
pStateData
,
dwFlags
);
return
S_OK
;
...
...
@@ -217,7 +232,7 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_SetParamEx(IDirectMusicTrack8 *ifac
static
HRESULT
WINAPI
IDirectMusicTrack8Impl_Compose
(
IDirectMusicTrack8
*
iface
,
IUnknown
*
pContext
,
DWORD
dwTrackGroup
,
IDirectMusicTrack
**
ppResultTrack
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p, %d, %p): stub
\n
"
,
This
,
pContext
,
dwTrackGroup
,
ppResultTrack
);
return
S_OK
;
}
...
...
@@ -226,12 +241,12 @@ static HRESULT WINAPI IDirectMusicTrack8Impl_Join(IDirectMusicTrack8 *iface,
IDirectMusicTrack
*
pNewTrack
,
MUSIC_TIME
mtJoin
,
IUnknown
*
pContext
,
DWORD
dwTrackGroup
,
IDirectMusicTrack
**
ppResultTrack
)
{
ICOM_THIS_MULTI
(
I
DirectMusicScriptTrack
,
TrackVtbl
,
iface
);
DirectMusicScriptTrack
*
This
=
impl_from_IDirectMusicTrack8
(
iface
);
FIXME
(
"(%p, %p, %d, %p, %d, %p): stub
\n
"
,
This
,
pNewTrack
,
mtJoin
,
pContext
,
dwTrackGroup
,
ppResultTrack
);
return
S_OK
;
}
static
const
IDirectMusicTrack8Vtbl
DirectMusicScriptTrack_Track_V
tbl
=
{
static
const
IDirectMusicTrack8Vtbl
dmtrack8_v
tbl
=
{
IDirectMusicTrack8Impl_QueryInterface
,
IDirectMusicTrack8Impl_AddRef
,
IDirectMusicTrack8Impl_Release
,
...
...
@@ -311,16 +326,22 @@ static const IPersistStreamVtbl DirectMusicScriptTrack_PersistStream_Vtbl = {
};
/* for ClassFactory */
HRESULT
WINAPI
DMUSIC_CreateDirectMusicScriptTrack
(
LPCGUID
lpcGUID
,
LPVOID
*
ppobj
,
LPUNKNOWN
pUnkOuter
)
{
IDirectMusicScriptTrack
*
track
;
track
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
IDirectMusicScriptTrack
));
if
(
NULL
==
track
)
{
*
ppobj
=
NULL
;
return
E_OUTOFMEMORY
;
}
HRESULT
WINAPI
DMUSIC_CreateDirectMusicScriptTrack
(
LPCGUID
lpcGUID
,
void
**
ppobj
,
IUnknown
*
pUnkOuter
)
{
DirectMusicScriptTrack
*
track
;
*
ppobj
=
NULL
;
if
(
pUnkOuter
)
return
CLASS_E_NOAGGREGATION
;
track
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
*
track
));
if
(
!
track
)
return
E_OUTOFMEMORY
;
track
->
UnknownVtbl
=
&
DirectMusicScriptTrack_Unknown_Vtbl
;
track
->
TrackVtbl
=
&
DirectMusicScriptTrack_T
rack
_V
tbl
;
track
->
IDirectMusicTrack8_iface
.
lpVtbl
=
&
dmt
rack
8_v
tbl
;
track
->
PersistStreamVtbl
=
&
DirectMusicScriptTrack_PersistStream_Vtbl
;
track
->
pDesc
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
DMUS_OBJECTDESC
));
DM_STRUCT_INIT
(
track
->
pDesc
);
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment