63 TRACE(
"(%p)->(IID_IUnknown %p)\n", iface,
ppv);
65 TRACE(
"(%p)->(IID_IClassFactory %p)\n", iface,
ppv);
98 return This->fnCreateInstance(
riid,
ppv, pUnkOuter);
103 TRACE(
"(%d)\n", dolock);
197 if (!pLocale)
return 0;
199 dwPatch |= ((pLocale->
ulBank & 0x00007F7F) << 8);
209 pLocale->
ulBank = ((dwPatch & 0x007F7F00) >> 8);
220 if (!fourcc)
return "'null'";
222 (
char)(fourcc), (
char)(fourcc >> 8),
223 (
char)(fourcc >> 16), (
char)(fourcc >> 24));
240 GE(CLSID_AudioVBScript),
241 GE(CLSID_DirectMusic),
242 GE(CLSID_DirectMusicAudioPathConfig),
243 GE(CLSID_DirectMusicAuditionTrack),
244 GE(CLSID_DirectMusicBand),
245 GE(CLSID_DirectMusicBandTrack),
246 GE(CLSID_DirectMusicChordMapTrack),
247 GE(CLSID_DirectMusicChordMap),
248 GE(CLSID_DirectMusicChordTrack),
249 GE(CLSID_DirectMusicCollection),
250 GE(CLSID_DirectMusicCommandTrack),
251 GE(CLSID_DirectMusicComposer),
252 GE(CLSID_DirectMusicContainer),
253 GE(CLSID_DirectMusicGraph),
254 GE(CLSID_DirectMusicLoader),
255 GE(CLSID_DirectMusicLyricsTrack),
256 GE(CLSID_DirectMusicMarkerTrack),
257 GE(CLSID_DirectMusicMelodyFormulationTrack),
258 GE(CLSID_DirectMusicMotifTrack),
259 GE(CLSID_DirectMusicMuteTrack),
260 GE(CLSID_DirectMusicParamControlTrack),
261 GE(CLSID_DirectMusicPatternTrack),
262 GE(CLSID_DirectMusicPerformance),
263 GE(CLSID_DirectMusicScript),
264 GE(CLSID_DirectMusicScriptAutoImpSegment),
265 GE(CLSID_DirectMusicScriptAutoImpPerformance),
266 GE(CLSID_DirectMusicScriptAutoImpSegmentState),
267 GE(CLSID_DirectMusicScriptAutoImpAudioPathConfig),
268 GE(CLSID_DirectMusicScriptAutoImpAudioPath),
269 GE(CLSID_DirectMusicScriptAutoImpSong),
270 GE(CLSID_DirectMusicScriptSourceCodeLoader),
271 GE(CLSID_DirectMusicScriptTrack),
272 GE(CLSID_DirectMusicSection),
273 GE(CLSID_DirectMusicSegment),
274 GE(CLSID_DirectMusicSegmentState),
275 GE(CLSID_DirectMusicSegmentTriggerTrack),
276 GE(CLSID_DirectMusicSegTriggerTrack),
277 GE(CLSID_DirectMusicSeqTrack),
278 GE(CLSID_DirectMusicSignPostTrack),
279 GE(CLSID_DirectMusicSong),
280 GE(CLSID_DirectMusicStyle),
281 GE(CLSID_DirectMusicStyleTrack),
282 GE(CLSID_DirectMusicSynth),
283 GE(CLSID_DirectMusicSynthSink),
284 GE(CLSID_DirectMusicSysExTrack),
285 GE(CLSID_DirectMusicTemplate),
286 GE(CLSID_DirectMusicTempoTrack),
287 GE(CLSID_DirectMusicTimeSigTrack),
288 GE(CLSID_DirectMusicWaveTrack),
289 GE(CLSID_DirectSoundWave),
291 GE(IID_IDirectMusic),
292 GE(IID_IDirectMusic2),
293 GE(IID_IDirectMusic8),
294 GE(IID_IDirectMusicAudioPath),
295 GE(IID_IDirectMusicBand),
296 GE(IID_IDirectMusicBuffer),
297 GE(IID_IDirectMusicChordMap),
298 GE(IID_IDirectMusicCollection),
299 GE(IID_IDirectMusicComposer),
300 GE(IID_IDirectMusicContainer),
301 GE(IID_IDirectMusicDownload),
302 GE(IID_IDirectMusicDownloadedInstrument),
303 GE(IID_IDirectMusicGetLoader),
304 GE(IID_IDirectMusicGraph),
305 GE(IID_IDirectMusicInstrument),
306 GE(IID_IDirectMusicLoader),
307 GE(IID_IDirectMusicLoader8),
308 GE(IID_IDirectMusicObject),
309 GE(IID_IDirectMusicPatternTrack),
310 GE(IID_IDirectMusicPerformance),
311 GE(IID_IDirectMusicPerformance2),
312 GE(IID_IDirectMusicPerformance8),
313 GE(IID_IDirectMusicPort),
314 GE(IID_IDirectMusicPortDownload),
315 GE(IID_IDirectMusicScript),
316 GE(IID_IDirectMusicSegment),
317 GE(IID_IDirectMusicSegment2),
318 GE(IID_IDirectMusicSegment8),
319 GE(IID_IDirectMusicSegmentState),
320 GE(IID_IDirectMusicSegmentState8),
321 GE(IID_IDirectMusicStyle),
322 GE(IID_IDirectMusicStyle8),
323 GE(IID_IDirectMusicSynth),
324 GE(IID_IDirectMusicSynth8),
325 GE(IID_IDirectMusicSynthSink),
326 GE(IID_IDirectMusicThru),
327 GE(IID_IDirectMusicTool),
328 GE(IID_IDirectMusicTool8),
329 GE(IID_IDirectMusicTrack),
330 GE(IID_IDirectMusicTrack8),
336 GE(GUID_DirectMusicAllTypes),
337 GE(GUID_NOTIFICATION_CHORD),
338 GE(GUID_NOTIFICATION_COMMAND),
339 GE(GUID_NOTIFICATION_MEASUREANDBEAT),
340 GE(GUID_NOTIFICATION_PERFORMANCE),
341 GE(GUID_NOTIFICATION_RECOMPOSE),
342 GE(GUID_NOTIFICATION_SEGMENT),
345 GE(GUID_CommandParam),
346 GE(GUID_CommandParam2),
347 GE(GUID_CommandParamNext),
348 GE(GUID_IDirectMusicBand),
349 GE(GUID_IDirectMusicChordMap),
350 GE(GUID_IDirectMusicStyle),
352 GE(GUID_Play_Marker),
353 GE(GUID_RhythmParam),
355 GE(GUID_TimeSignature),
356 GE(GUID_Valid_Start_Time),
357 GE(GUID_Clear_All_Bands),
358 GE(GUID_ConnectToDLSCollection),
359 GE(GUID_Disable_Auto_Download),
360 GE(GUID_DisableTempo),
361 GE(GUID_DisableTimeSig),
363 GE(GUID_DownloadToAudioPath),
364 GE(GUID_Enable_Auto_Download),
365 GE(GUID_EnableTempo),
366 GE(GUID_EnableTimeSig),
368 GE(GUID_SeedVariations),
369 GE(GUID_StandardMIDIFile),
371 GE(GUID_UnloadFromAudioPath),
373 GE(GUID_PerfMasterTempo),
374 GE(GUID_PerfMasterVolume),
375 GE(GUID_PerfMasterGrooveLevel),
376 GE(GUID_PerfAutoDownload),
377 GE(GUID_DefaultGMCollection),
378 GE(GUID_Synth_Default),
379 GE(GUID_Buffer_Reverb),
380 GE(GUID_Buffer_EnvReverb),
381 GE(GUID_Buffer_Stereo),
382 GE(GUID_Buffer_3D_Dry),
383 GE(GUID_Buffer_Mono),
384 GE(GUID_DMUS_PROP_GM_Hardware),
385 GE(GUID_DMUS_PROP_GS_Capable),
386 GE(GUID_DMUS_PROP_GS_Hardware),
387 GE(GUID_DMUS_PROP_DLS1),
388 GE(GUID_DMUS_PROP_DLS2),
389 GE(GUID_DMUS_PROP_Effects),
390 GE(GUID_DMUS_PROP_INSTRUMENT2),
391 GE(GUID_DMUS_PROP_LegacyCaps),
392 GE(GUID_DMUS_PROP_MemorySize),
393 GE(GUID_DMUS_PROP_SampleMemorySize),
394 GE(GUID_DMUS_PROP_SamplePlaybackRate),
395 GE(GUID_DMUS_PROP_SetSynthSink),
396 GE(GUID_DMUS_PROP_SinkUsesDSound),
397 GE(GUID_DMUS_PROP_SynthSink_DSOUND),
398 GE(GUID_DMUS_PROP_SynthSink_WAVE),
399 GE(GUID_DMUS_PROP_Volume),
400 GE(GUID_DMUS_PROP_WavesReverb),
401 GE(GUID_DMUS_PROP_WriteLatency),
402 GE(GUID_DMUS_PROP_WritePeriod),
403 GE(GUID_DMUS_PROP_XG_Capable),
404 GE(GUID_DMUS_PROP_XG_Hardware)
409 if (!
id)
return "(null)";
413 return guids[
i].
name;
430 if (cnt < 0 || cnt >=
size)
break;
DWORD MIDILOCALE2Patch(const MIDILOCALE *pLocale)
static HINSTANCE instance
static ULONG WINAPI ClassFactory_Release(IClassFactory *iface)
#define DMUS_PORTPARAMS_EFFECTS
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
#define DMUS_PORTPARAMS_CHANNELGROUPS
void dump_DMUS_OBJECTDESC(LPDMUS_OBJECTDESC desc)
const char * debugstr_dmguid(const GUID *id)
static IClassFactoryImpl DirectMusic_CF
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
static HRESULT WINAPI ClassFactory_LockServer(IClassFactory *iface, BOOL dolock)
static IClassFactoryImpl Collection_CF
#define DLL_PROCESS_ATTACH
void Patch2MIDILOCALE(DWORD dwPatch, LPMIDILOCALE pLocale)
static ULONG WINAPI ClassFactory_AddRef(IClassFactory *iface)
HRESULT WINAPI DllRegisterServer(void)
#define CLASS_E_CLASSNOTAVAILABLE
void dump_DMUS_PORTPARAMS(LPDMUS_PORTPARAMS params)
static IClassFactoryImpl * impl_from_IClassFactory(IClassFactory *iface)
static IN DWORD IN LPVOID lpvReserved
static HRESULT WINAPI ClassFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
static void DMUSIC_UnlockModule(void)
const char * wine_dbg_sprintf(const char *format,...)
#define DMUS_OBJ_FILENAME
struct tagIClassFactoryImpl IClassFactoryImpl
static const char * debugstr_dmversion(const DMUS_VERSION *version)
static const char * debugstr_DMUS_OBJ_FLAGS(DWORD flagmask)
GLenum const GLfloat * params
static size_t double number
static const WCHAR desc[]
#define GUID_IgnoreBankSelectForGM
static const IClassFactoryVtbl classfactory_vtbl
static const WCHAR version[]
static void DMUSIC_LockModule(void)
HRESULT WINAPI DllCanUnloadNow(void)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
#define DMUS_PORTPARAMS_AUDIOCHANNELS
#define DMUS_PORTPARAMS_VOICES
const char * debugstr_fourcc(DWORD fourcc)
#define F_INSTRUMENT_DRUMS
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
#define DMUS_PORTPARAMS_SHARE
const GUID IID_IPersistStream
HRESULT WINAPI DMUSIC_CreateDirectMusicImpl(LPCGUID riid, LPVOID *ret_iface, LPUNKNOWN unkouter)
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
WINE_DEFAULT_DEBUG_CHANNEL(dmusic)
static const char * debugstr_DMUS_PORTPARAMS_FLAGS(DWORD flagmask)
int even_or_odd(DWORD number)
#define DMUS_OBJ_FULLPATH
#define DMUS_OBJ_CATEGORY
HRESULT(* fnCreateInstance)(IUnknown *pUnkOuter, LPVOID *ppObj)
static const char * debugstr_flags(DWORD flags, const flag_info *names, size_t num_names)
HRESULT WINAPI DMUSIC_CreateDirectMusicCollectionImpl(LPCGUID lpcGUID, LPVOID *ppobj, LPUNKNOWN pUnkOuter)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
void IUnknown * pUnkOuter
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
HRESULT WINAPI DllUnregisterServer(void)
const GUID IID_IClassFactory
#define IsEqualCLSID(rclsid1, rclsid2)
#define IsEqualIID(riid1, riid2)
#define DMUS_PORTPARAMS_SAMPLERATE