ReactOS 0.4.17-dev-934-g091855f
dmcompos_private.h File Reference
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include "windef.h"
#include "winbase.h"
#include "winnt.h"
#include "wingdi.h"
#include "winuser.h"
#include "wine/debug.h"
#include "wine/list.h"
#include "winreg.h"
#include "objbase.h"
#include "dmusici.h"
#include "dmusicf.h"
#include "dmusics.h"
Include dependency graph for dmcompos_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

HRESULT create_dmchordmap (REFIID riid, void **ret_iface)
 
HRESULT create_dmcomposer (REFIID riid, void **ret_iface)
 
HRESULT create_dmchordmaptrack (REFIID riid, void **ret_iface)
 
HRESULT create_dmsignposttrack (REFIID riid, void **ret_iface)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 27 of file dmcompos_private.h.

Function Documentation

◆ create_dmchordmap()

HRESULT create_dmchordmap ( REFIID  riid,
void **  ret_iface 
)

Definition at line 309 of file chordmap.c.

310{
312 HRESULT hr;
313
314 *ppobj = NULL;
315 if (!(obj = calloc(1, sizeof(*obj)))) return E_OUTOFMEMORY;
316 obj->IDirectMusicChordMap_iface.lpVtbl = &dmchordmap_vtbl;
317 obj->ref = 1;
318 dmobject_init(&obj->dmobj, &CLSID_DirectMusicChordMap,
319 (IUnknown *)&obj->IDirectMusicChordMap_iface);
320 obj->dmobj.IDirectMusicObject_iface.lpVtbl = &dmobject_vtbl;
321 obj->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
322
323 hr = IDirectMusicChordMap_QueryInterface(&obj->IDirectMusicChordMap_iface, lpcGUID, ppobj);
324 IDirectMusicChordMap_Release(&obj->IDirectMusicChordMap_iface);
325
326 return hr;
327}
static const IDirectMusicObjectVtbl dmobject_vtbl
Definition: chordmap.c:135
static const IPersistStreamVtbl persiststream_vtbl
Definition: chordmap.c:297
static const IDirectMusicChordMapVtbl dmchordmap_vtbl
Definition: chordmap.c:95
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
void dmobject_init(struct dmobject *dmobj, const GUID *class, IUnknown *outer_unk)
Definition: dmobject.c:749
#define IDirectMusicChordMap_Release(p)
Definition: dmusici.h:1594
#define IDirectMusicChordMap_QueryInterface(p, a, b)
Definition: dmusici.h:1592
#define calloc
Definition: rosglue.h:14

◆ create_dmchordmaptrack()

HRESULT create_dmchordmaptrack ( REFIID  riid,
void **  ret_iface 
)

Definition at line 285 of file chordmaptrack.c.

286{
288 HRESULT hr;
289
290 *ppobj = NULL;
291 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
293 track->ref = 1;
294 dmobject_init(&track->dmobj, &CLSID_DirectMusicChordMapTrack,
296 track->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
297
300
301 return hr;
302}
static const IPersistStreamVtbl persiststream_vtbl
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
#define IDirectMusicTrack8_Release(p)
Definition: dmplugin.h:275
#define IDirectMusicTrack8_QueryInterface(p, a, b)
Definition: dmplugin.h:273
IDirectMusicTrack8 IDirectMusicTrack8_iface
Definition: chordmaptrack.c:29

◆ create_dmcomposer()

HRESULT create_dmcomposer ( REFIID  riid,
void **  ret_iface 
)

Definition at line 170 of file composer.c.

171{
173 HRESULT hr;
174
175 *ret_iface = NULL;
176 if (!(obj = calloc(1, sizeof(*obj)))) return E_OUTOFMEMORY;
177 obj->IDirectMusicComposer_iface.lpVtbl = &dmcomposer_vtbl;
178 obj->ref = 1;
179
180 hr = IDirectMusicComposer_QueryInterface(&obj->IDirectMusicComposer_iface, riid, ret_iface);
181 IDirectMusicComposer_Release(&obj->IDirectMusicComposer_iface);
182
183 return hr;
184}
static const IDirectMusicComposerVtbl dmcomposer_vtbl
Definition: composer.c:157
#define IDirectMusicComposer_QueryInterface(p, a, b)
Definition: dmusici.h:1622
#define IDirectMusicComposer_Release(p)
Definition: dmusici.h:1624
REFIID riid
Definition: atlbase.h:39

◆ create_dmsignposttrack()

HRESULT create_dmsignposttrack ( REFIID  riid,
void **  ret_iface 
)

Definition at line 273 of file signposttrack.c.

274{
276 HRESULT hr;
277
278 *ppobj = NULL;
279 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
281 track->ref = 1;
282 dmobject_init(&track->dmobj, &CLSID_DirectMusicSignPostTrack,
284 track->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
285
288
289 return hr;
290}
static const IPersistStreamVtbl persiststream_vtbl
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
IDirectMusicTrack8 IDirectMusicTrack8_iface
Definition: signposttrack.c:29