51 *ret_iface = &
This->dmobj.IPersistStream_iface;
57 IUnknown_AddRef((
IUnknown*)*ret_iface);
86 IDirectMusicSegment *pSegment)
89 FIXME(
"(%p, %p): stub\n",
This, pSegment);
94 IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance,
98 FIXME(
"(%p, %p, %p, %p, %ld, %ld): stub\n",
This, pSegmentState, pPerformance, ppStateData, dwVirtualTrack8ID,
dwFlags);
105 FIXME(
"(%p, %p): stub\n",
This, pStateData);
111 IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt,
DWORD dwVirtualID)
114 FIXME(
"(%p, %p, %ld, %ld, %ld, %ld, %p, %p, %ld): stub\n",
This, pStateData, mtStart, mtEnd, mtOffset,
dwFlags, pPerf, pSegSt, dwVirtualID);
129 FIXME(
"GUID_Play_Marker not handled yet\n");
133 FIXME(
"GUID_Valid_Start_Time not handled yet\n");
156 ||
IsEqualGUID (rguidType, &GUID_Valid_Start_Time)) {
157 TRACE(
"param supported\n");
160 TRACE(
"param unsupported\n");
181 MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
184 FIXME(
"(%p, %ld, %ld, %p): stub\n",
This, mtStart, mtEnd, ppTrack);
206 FIXME(
": Loading not implemented yet\n");
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define DMUS_E_GET_UNSUPPORTED
#define DMUS_E_TYPE_UNSUPPORTED
#define DMUS_E_SET_UNSUPPORTED
void dmobject_init(struct dmobject *dmobj, const GUID *class, IUnknown *outer_unk)
ULONG WINAPI dmobj_IPersistStream_Release(IPersistStream *iface)
HRESULT WINAPI unimpl_IPersistStream_GetSizeMax(IPersistStream *iface, ULARGE_INTEGER *size)
HRESULT WINAPI dmobj_IPersistStream_GetClassID(IPersistStream *iface, CLSID *class)
ULONG WINAPI dmobj_IPersistStream_AddRef(IPersistStream *iface)
const char * debugstr_dmguid(const GUID *id)
HRESULT WINAPI dmobj_IPersistStream_QueryInterface(IPersistStream *iface, REFIID riid, void **ret_iface)
HRESULT WINAPI unimpl_IPersistStream_IsDirty(IPersistStream *iface)
HRESULT WINAPI unimpl_IPersistStream_Save(IPersistStream *iface, IStream *stream, BOOL clear_dirty)
#define IDirectMusicTrack_Release(p)
#define IDirectMusicTrack_QueryInterface(p, a, b)
GLuint GLuint GLsizei GLenum type
static const IDirectMusicTrackVtbl dmtrack_vtbl
static HRESULT WINAPI IDirectMusicTrackImpl_Play(IDirectMusicTrack *iface, void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID)
static HRESULT WINAPI IDirectMusicTrackImpl_EndPlay(IDirectMusicTrack *iface, void *pStateData)
static HRESULT WINAPI IDirectMusicTrackImpl_SetParam(IDirectMusicTrack *iface, REFGUID type, MUSIC_TIME time, void *param)
static ULONG WINAPI IDirectMusicTrackImpl_Release(IDirectMusicTrack *iface)
static ULONG WINAPI IDirectMusicTrackImpl_AddRef(IDirectMusicTrack *iface)
static HRESULT WINAPI IDirectMusicTrackImpl_QueryInterface(IDirectMusicTrack *iface, REFIID riid, void **ret_iface)
static HRESULT WINAPI IDirectMusicTrackImpl_Init(IDirectMusicTrack *iface, IDirectMusicSegment *pSegment)
static HRESULT WINAPI IDirectMusicTrackImpl_InitPlay(IDirectMusicTrack *iface, IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrack8ID, DWORD dwFlags)
static HRESULT WINAPI IDirectMusicTrackImpl_IsParamSupported(IDirectMusicTrack *iface, REFGUID rguidType)
static const IPersistStreamVtbl persiststream_vtbl
static IDirectMusicMarkerTrack * impl_from_IDirectMusicTrack(IDirectMusicTrack *iface)
static HRESULT WINAPI marker_IPersistStream_Load(IPersistStream *iface, IStream *stream)
static HRESULT WINAPI IDirectMusicTrackImpl_RemoveNotificationType(IDirectMusicTrack *iface, REFGUID rguidNotificationType)
static HRESULT WINAPI IDirectMusicTrackImpl_AddNotificationType(IDirectMusicTrack *iface, REFGUID rguidNotificationType)
HRESULT create_dmmarkertrack(REFIID lpcGUID, void **ppobj)
static HRESULT WINAPI IDirectMusicTrackImpl_Clone(IDirectMusicTrack *iface, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack)
static HRESULT WINAPI IDirectMusicTrackImpl_GetParam(IDirectMusicTrack *iface, REFGUID type, MUSIC_TIME time, MUSIC_TIME *next, void *param)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
const GUID IID_IPersistStream
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
static unsigned __int64 next
IDirectMusicTrack IDirectMusicTrack_iface
#define CONTAINING_RECORD(address, type, field)