61 *ret_iface = &
This->IDirectMusicGraph_iface;
64 *ret_iface = &
This->dmobj.IDirectMusicObject_iface;
66 *ret_iface = &
This->dmobj.IPersistStream_iface;
124 if (
entry->tool ==
msg->pTool)
break;
144 msg->dwFlags &= ~delivery_flags;
145 msg->dwFlags |=
next->delivery;
164 if (
index-- <= 0)
break;
173 WARN(
"Failed to get delivery type from tool %p, hr %#lx\n",
tool,
hr);
194 *ret_tool =
entry->tool;
263 desc->guidClass = CLSID_DirectMusicGraph;
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static void list_init(struct list_entry *head)
static HRESULT WINAPI graph_StampPMsg(IDirectMusicGraph *iface, DMUS_PMSG *msg)
static ULONG WINAPI graph_Release(IDirectMusicGraph *iface)
static HRESULT WINAPI graph_IPersistStream_Load(IPersistStream *iface, IStream *stream)
static struct graph * impl_from_IPersistStream(IPersistStream *iface)
static const IDirectMusicObjectVtbl dmobject_vtbl
static const IDirectMusicGraphVtbl graph_vtbl
static const IPersistStreamVtbl persiststream_vtbl
static HRESULT WINAPI graph_RemoveTool(IDirectMusicGraph *iface, IDirectMusicTool *tool)
static HRESULT WINAPI graph_IDirectMusicObject_ParseDescriptor(IDirectMusicObject *iface, IStream *stream, DMUS_OBJECTDESC *desc)
static ULONG WINAPI graph_AddRef(IDirectMusicGraph *iface)
static HRESULT WINAPI graph_GetTool(IDirectMusicGraph *iface, DWORD index, IDirectMusicTool **ret_tool)
static HRESULT WINAPI graph_InsertTool(IDirectMusicGraph *iface, IDirectMusicTool *tool, DWORD *channels, DWORD channel_count, LONG index)
static struct graph * impl_from_IDirectMusicGraph(IDirectMusicGraph *iface)
HRESULT create_dmgraph(REFIID riid, void **ret_iface)
static HRESULT WINAPI graph_QueryInterface(IDirectMusicGraph *iface, REFIID riid, void **ret_iface)
#define DMUS_E_ALREADY_EXISTS
#define DMUS_E_CHUNKNOTFOUND
HRESULT WINAPI dmobj_IDirectMusicObject_GetDescriptor(IDirectMusicObject *iface, DMUS_OBJECTDESC *desc)
void dmobject_init(struct dmobject *dmobj, const GUID *class, IUnknown *outer_unk)
ULONG WINAPI dmobj_IPersistStream_Release(IPersistStream *iface)
ULONG WINAPI dmobj_IDirectMusicObject_Release(IDirectMusicObject *iface)
HRESULT dmobj_parsedescriptor(IStream *stream, const struct chunk_entry *riff, DMUS_OBJECTDESC *desc, DWORD supported)
HRESULT WINAPI dmobj_IDirectMusicObject_QueryInterface(IDirectMusicObject *iface, REFIID riid, void **ret_iface)
HRESULT WINAPI unimpl_IPersistStream_GetSizeMax(IPersistStream *iface, ULARGE_INTEGER *size)
HRESULT WINAPI dmobj_IDirectMusicObject_SetDescriptor(IDirectMusicObject *iface, DMUS_OBJECTDESC *desc)
void dump_DMUS_OBJECTDESC(DMUS_OBJECTDESC *desc)
const char * debugstr_chunk(const struct chunk_entry *chunk)
HRESULT WINAPI dmobj_IPersistStream_GetClassID(IPersistStream *iface, CLSID *class)
ULONG WINAPI dmobj_IPersistStream_AddRef(IPersistStream *iface)
HRESULT WINAPI dmobj_IPersistStream_QueryInterface(IPersistStream *iface, REFIID riid, void **ret_iface)
ULONG WINAPI dmobj_IDirectMusicObject_AddRef(IDirectMusicObject *iface)
HRESULT stream_skip_chunk(IStream *stream, const struct chunk_entry *chunk)
HRESULT stream_get_chunk(IStream *stream, struct chunk_entry *chunk)
HRESULT WINAPI unimpl_IPersistStream_IsDirty(IPersistStream *iface)
HRESULT WINAPI unimpl_IPersistStream_Save(IPersistStream *iface, IStream *stream, BOOL clear_dirty)
#define IDirectMusicTool_AddRef(p)
#define IDirectMusicTool_Release(p)
#define IDirectMusicTool_Init(p, a)
#define IDirectMusicTool_GetMsgDeliveryType(p, a)
#define DMUS_FOURCC_TOOLGRAPH_FORM
#define IDirectMusicObject_ParseDescriptor(p, a, b)
#define IDirectMusicGraph_QueryInterface(p, a, b)
@ DMUS_PMSGF_TOOL_IMMEDIATE
#define IDirectMusicGraph_Release(p)
#define IDirectMusicGraph_AddRef(p)
#define DMUS_OBJ_CATEGORY
D3D11_SHADER_VARIABLE_DESC desc
const GUID IID_IPersistStream
#define IsEqualIID(riid1, riid2)
static unsigned __int64 next
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
__WINE_SERVER_LIST_INLINE void list_add_before(struct list *elem, struct list *to_add)
IDirectMusicGraph IDirectMusicGraph_iface
#define CONTAINING_RECORD(address, type, field)