ReactOS 0.4.17-dev-934-g091855f
dmscript_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 dmscript_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _DMUS_PRIVATE_CHUNK
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct _DMUS_PRIVATE_CHUNK DMUS_PRIVATE_CHUNK
 
typedef struct _DMUS_PRIVATE_CHUNK * LPDMUS_PRIVATE_CHUNK
 

Functions

HRESULT DMUSIC_CreateDirectMusicScriptImpl (REFIID riid, void **ppobj, IUnknown *pUnkOuter)
 
HRESULT DMUSIC_CreateDirectMusicScriptTrack (REFIID riid, void **ppobj, IUnknown *pUnkOuter)
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 27 of file dmscript_private.h.

Typedef Documentation

◆ DMUS_PRIVATE_CHUNK

◆ LPDMUS_PRIVATE_CHUNK

Function Documentation

◆ DMUSIC_CreateDirectMusicScriptImpl()

HRESULT DMUSIC_CreateDirectMusicScriptImpl ( REFIID  riid,
void **  ppobj,
IUnknown *  pUnkOuter 
)

Definition at line 490 of file script.c.

491{
493 HRESULT hr;
494
495 *ppobj = NULL;
496
497 if (pUnkOuter)
499
500 if (!(obj = calloc(1, sizeof(*obj)))) return E_OUTOFMEMORY;
501 obj->IDirectMusicScript_iface.lpVtbl = &dmscript_vtbl;
502 obj->ref = 1;
503 dmobject_init(&obj->dmobj, &CLSID_DirectMusicScript, (IUnknown*)&obj->IDirectMusicScript_iface);
504 obj->dmobj.IDirectMusicObject_iface.lpVtbl = &dmobject_vtbl;
505 obj->dmobj.IPersistStream_iface.lpVtbl = &persiststream_vtbl;
506
507 hr = IDirectMusicScript_QueryInterface(&obj->IDirectMusicScript_iface, lpcGUID, ppobj);
508 IDirectMusicScript_Release(&obj->IDirectMusicScript_iface);
509
510 return hr;
511}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
static const IDirectMusicObjectVtbl dmobject_vtbl
Definition: script.c:235
static const IPersistStreamVtbl persiststream_vtbl
Definition: script.c:478
static const IDirectMusicScriptVtbl dmscript_vtbl
Definition: script.c:185
void dmobject_init(struct dmobject *dmobj, const GUID *class, IUnknown *outer_unk)
Definition: dmobject.c:749
#define IDirectMusicScript_QueryInterface(p, a, b)
Definition: dmusici.h:1690
#define IDirectMusicScript_Release(p)
Definition: dmusici.h:1692
#define calloc
Definition: rosglue.h:14
#define CLASS_E_NOAGGREGATION
Definition: winerror.h:3771

◆ DMUSIC_CreateDirectMusicScriptTrack()

HRESULT DMUSIC_CreateDirectMusicScriptTrack ( REFIID  riid,
void **  ppobj,
IUnknown *  pUnkOuter 
)

Definition at line 317 of file scripttrack.c.

318{
320 HRESULT hr;
321
322 *ret_iface = NULL;
323
324 if (pUnkOuter)
326
327 if (!(track = calloc(1, sizeof(*track)))) return E_OUTOFMEMORY;
329 track->IPersistStream_iface.lpVtbl = &persist_vtbl;
330 track->desc.dwSize = sizeof(track->desc);
332 track->desc.guidClass = CLSID_DirectMusicScriptTrack;
333 track->ref = 1;
334
337
338 return hr;
339}
#define IDirectMusicTrack8_Release(p)
Definition: dmplugin.h:275
#define IDirectMusicTrack8_QueryInterface(p, a, b)
Definition: dmplugin.h:273
#define DMUS_OBJ_CLASS
Definition: dmusici.h:266
REFIID riid
Definition: atlbase.h:39
static const IPersistStreamVtbl persist_vtbl
Definition: scripttrack.c:305
static const IDirectMusicTrack8Vtbl dmtrack8_vtbl
Definition: scripttrack.c:229
IDirectMusicTrack8 IDirectMusicTrack8_iface
Definition: scripttrack.c:30
IPersistStream IPersistStream_iface
Definition: scripttrack.c:31
DMUS_OBJECTDESC desc
Definition: scripttrack.c:33
DWORD dwValidData
Definition: dmusici.h:743