1 /* DirectMusicScript Main
3 * Copyright (C) 2003-2004 Rok Mandeljc
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Library General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #include "dmscript_private.h"
22 WINE_DEFAULT_DEBUG_CHANNEL(dmscript);
26 ICOM_VFIELD(IClassFactory);
30 /******************************************************************
31 * DirectMusicScriptAutoImplSegment ClassFactory
33 static HRESULT WINAPI ScriptAutoImplSegmentCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
34 ICOM_THIS(IClassFactoryImpl,iface);
35 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
39 static ULONG WINAPI ScriptAutoImplSegmentCF_AddRef(LPCLASSFACTORY iface) {
40 ICOM_THIS(IClassFactoryImpl,iface);
44 static ULONG WINAPI ScriptAutoImplSegmentCF_Release(LPCLASSFACTORY iface) {
45 ICOM_THIS(IClassFactoryImpl,iface);
46 /* static class, won't be freed */
50 static HRESULT WINAPI ScriptAutoImplSegmentCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
51 ICOM_THIS(IClassFactoryImpl,iface);
52 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
53 /* nothing here yet */
54 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
58 static HRESULT WINAPI ScriptAutoImplSegmentCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
59 ICOM_THIS(IClassFactoryImpl,iface);
60 FIXME("(%p)->(%d),stub!\n", This, dolock);
64 static ICOM_VTABLE(IClassFactory) ScriptAutoImplSegmentCF_Vtbl = {
65 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
66 ScriptAutoImplSegmentCF_QueryInterface,
67 ScriptAutoImplSegmentCF_AddRef,
68 ScriptAutoImplSegmentCF_Release,
69 ScriptAutoImplSegmentCF_CreateInstance,
70 ScriptAutoImplSegmentCF_LockServer
73 static IClassFactoryImpl ScriptAutoImplSegment_CF = {&ScriptAutoImplSegmentCF_Vtbl, 1 };
75 /******************************************************************
76 * DirectMusicScriptTrack ClassFactory
78 static HRESULT WINAPI ScriptTrackCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
79 ICOM_THIS(IClassFactoryImpl,iface);
80 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
84 static ULONG WINAPI ScriptTrackCF_AddRef(LPCLASSFACTORY iface) {
85 ICOM_THIS(IClassFactoryImpl,iface);
89 static ULONG WINAPI ScriptTrackCF_Release(LPCLASSFACTORY iface) {
90 ICOM_THIS(IClassFactoryImpl,iface);
91 /* static class, won't be freed */
95 static HRESULT WINAPI ScriptTrackCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
96 ICOM_THIS(IClassFactoryImpl,iface);
97 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
98 return DMUSIC_CreateDirectMusicScriptTrack (riid, ppobj, pOuter);
101 static HRESULT WINAPI ScriptTrackCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
102 ICOM_THIS(IClassFactoryImpl,iface);
103 FIXME("(%p)->(%d),stub!\n", This, dolock);
107 static ICOM_VTABLE(IClassFactory) ScriptTrackCF_Vtbl = {
108 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
109 ScriptTrackCF_QueryInterface,
110 ScriptTrackCF_AddRef,
111 ScriptTrackCF_Release,
112 ScriptTrackCF_CreateInstance,
113 ScriptTrackCF_LockServer
116 static IClassFactoryImpl ScriptTrack_CF = {&ScriptTrackCF_Vtbl, 1 };
118 /******************************************************************
119 * DirectMusicAudioVBScript ClassFactory
121 static HRESULT WINAPI AudioVBScriptCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
122 ICOM_THIS(IClassFactoryImpl,iface);
123 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
124 return E_NOINTERFACE;
127 static ULONG WINAPI AudioVBScriptCF_AddRef(LPCLASSFACTORY iface) {
128 ICOM_THIS(IClassFactoryImpl,iface);
129 return ++(This->ref);
132 static ULONG WINAPI AudioVBScriptCF_Release(LPCLASSFACTORY iface) {
133 ICOM_THIS(IClassFactoryImpl,iface);
134 /* static class, won't be freed */
135 return --(This->ref);
138 static HRESULT WINAPI AudioVBScriptCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
139 ICOM_THIS(IClassFactoryImpl,iface);
140 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
141 /* nothing here yet */
142 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
143 return E_NOINTERFACE;
146 static HRESULT WINAPI AudioVBScriptCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
147 ICOM_THIS(IClassFactoryImpl,iface);
148 FIXME("(%p)->(%d),stub!\n", This, dolock);
152 static ICOM_VTABLE(IClassFactory) AudioVBScriptCF_Vtbl = {
153 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
154 AudioVBScriptCF_QueryInterface,
155 AudioVBScriptCF_AddRef,
156 AudioVBScriptCF_Release,
157 AudioVBScriptCF_CreateInstance,
158 AudioVBScriptCF_LockServer
161 static IClassFactoryImpl AudioVBScript_CF = {&AudioVBScriptCF_Vtbl, 1 };
163 /******************************************************************
164 * DirectMusicScript ClassFactory
166 static HRESULT WINAPI ScriptCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
167 ICOM_THIS(IClassFactoryImpl,iface);
168 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
169 return E_NOINTERFACE;
172 static ULONG WINAPI ScriptCF_AddRef(LPCLASSFACTORY iface) {
173 ICOM_THIS(IClassFactoryImpl,iface);
174 return ++(This->ref);
177 static ULONG WINAPI ScriptCF_Release(LPCLASSFACTORY iface) {
178 ICOM_THIS(IClassFactoryImpl,iface);
179 /* static class, won't be freed */
180 return --(This->ref);
183 static HRESULT WINAPI ScriptCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
184 ICOM_THIS(IClassFactoryImpl,iface);
185 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
186 return DMUSIC_CreateDirectMusicScriptImpl (riid, ppobj, pOuter);
189 static HRESULT WINAPI ScriptCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
190 ICOM_THIS(IClassFactoryImpl,iface);
191 FIXME("(%p)->(%d),stub!\n", This, dolock);
195 static ICOM_VTABLE(IClassFactory) ScriptCF_Vtbl = {
196 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
197 ScriptCF_QueryInterface,
200 ScriptCF_CreateInstance,
204 static IClassFactoryImpl Script_CF = {&ScriptCF_Vtbl, 1 };
206 /******************************************************************
207 * DirectMusicScriptAutoImplPerformance ClassFactory
209 static HRESULT WINAPI ScriptAutoImplPerformanceCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
210 ICOM_THIS(IClassFactoryImpl,iface);
211 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
212 return E_NOINTERFACE;
215 static ULONG WINAPI ScriptAutoImplPerformanceCF_AddRef(LPCLASSFACTORY iface) {
216 ICOM_THIS(IClassFactoryImpl,iface);
217 return ++(This->ref);
220 static ULONG WINAPI ScriptAutoImplPerformanceCF_Release(LPCLASSFACTORY iface) {
221 ICOM_THIS(IClassFactoryImpl,iface);
222 /* static class, won't be freed */
223 return --(This->ref);
226 static HRESULT WINAPI ScriptAutoImplPerformanceCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
227 ICOM_THIS(IClassFactoryImpl,iface);
228 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
229 /* nothing here yet */
230 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
231 return E_NOINTERFACE;
234 static HRESULT WINAPI ScriptAutoImplPerformanceCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
235 ICOM_THIS(IClassFactoryImpl,iface);
236 FIXME("(%p)->(%d),stub!\n", This, dolock);
240 static ICOM_VTABLE(IClassFactory) ScriptAutoImplPerformanceCF_Vtbl = {
241 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
242 ScriptAutoImplPerformanceCF_QueryInterface,
243 ScriptAutoImplPerformanceCF_AddRef,
244 ScriptAutoImplPerformanceCF_Release,
245 ScriptAutoImplPerformanceCF_CreateInstance,
246 ScriptAutoImplPerformanceCF_LockServer
249 static IClassFactoryImpl ScriptAutoImplPerformance_CF = {&ScriptAutoImplPerformanceCF_Vtbl, 1 };
251 /******************************************************************
252 * DirectMusicScriptSourceCodeLoader ClassFactory
254 static HRESULT WINAPI ScriptSourceCodeLoaderCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
255 ICOM_THIS(IClassFactoryImpl,iface);
256 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
257 return E_NOINTERFACE;
260 static ULONG WINAPI ScriptSourceCodeLoaderCF_AddRef(LPCLASSFACTORY iface) {
261 ICOM_THIS(IClassFactoryImpl,iface);
262 return ++(This->ref);
265 static ULONG WINAPI ScriptSourceCodeLoaderCF_Release(LPCLASSFACTORY iface) {
266 ICOM_THIS(IClassFactoryImpl,iface);
267 /* static class, won't be freed */
268 return --(This->ref);
271 static HRESULT WINAPI ScriptSourceCodeLoaderCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
272 ICOM_THIS(IClassFactoryImpl,iface);
273 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
274 /* nothing here yet */
275 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
276 return E_NOINTERFACE;
279 static HRESULT WINAPI ScriptSourceCodeLoaderCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
280 ICOM_THIS(IClassFactoryImpl,iface);
281 FIXME("(%p)->(%d),stub!\n", This, dolock);
285 static ICOM_VTABLE(IClassFactory) ScriptSourceCodeLoaderCF_Vtbl = {
286 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
287 ScriptSourceCodeLoaderCF_QueryInterface,
288 ScriptSourceCodeLoaderCF_AddRef,
289 ScriptSourceCodeLoaderCF_Release,
290 ScriptSourceCodeLoaderCF_CreateInstance,
291 ScriptSourceCodeLoaderCF_LockServer
294 static IClassFactoryImpl ScriptSourceCodeLoader_CF = {&ScriptSourceCodeLoaderCF_Vtbl, 1 };
296 /******************************************************************
297 * DirectMusicScriptAutoImplSegmentState ClassFactory
299 static HRESULT WINAPI ScriptAutoImplSegmentStateCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
300 ICOM_THIS(IClassFactoryImpl,iface);
301 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
302 return E_NOINTERFACE;
305 static ULONG WINAPI ScriptAutoImplSegmentStateCF_AddRef(LPCLASSFACTORY iface) {
306 ICOM_THIS(IClassFactoryImpl,iface);
307 return ++(This->ref);
310 static ULONG WINAPI ScriptAutoImplSegmentStateCF_Release(LPCLASSFACTORY iface) {
311 ICOM_THIS(IClassFactoryImpl,iface);
312 /* static class, won't be freed */
313 return --(This->ref);
316 static HRESULT WINAPI ScriptAutoImplSegmentStateCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
317 ICOM_THIS(IClassFactoryImpl,iface);
318 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
319 /* nothing here yet */
320 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
321 return E_NOINTERFACE;
324 static HRESULT WINAPI ScriptAutoImplSegmentStateCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
325 ICOM_THIS(IClassFactoryImpl,iface);
326 FIXME("(%p)->(%d),stub!\n", This, dolock);
330 static ICOM_VTABLE(IClassFactory) ScriptAutoImplSegmentStateCF_Vtbl = {
331 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
332 ScriptAutoImplSegmentStateCF_QueryInterface,
333 ScriptAutoImplSegmentStateCF_AddRef,
334 ScriptAutoImplSegmentStateCF_Release,
335 ScriptAutoImplSegmentStateCF_CreateInstance,
336 ScriptAutoImplSegmentStateCF_LockServer
339 static IClassFactoryImpl ScriptAutoImplSegmentState_CF = {&ScriptAutoImplSegmentStateCF_Vtbl, 1 };
341 /******************************************************************
342 * DirectMusicScriptAutoImplAudioPathConfig ClassFactory
344 static HRESULT WINAPI ScriptAutoImplAudioPathConfigCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
345 ICOM_THIS(IClassFactoryImpl,iface);
346 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
347 return E_NOINTERFACE;
350 static ULONG WINAPI ScriptAutoImplAudioPathConfigCF_AddRef(LPCLASSFACTORY iface) {
351 ICOM_THIS(IClassFactoryImpl,iface);
352 return ++(This->ref);
355 static ULONG WINAPI ScriptAutoImplAudioPathConfigCF_Release(LPCLASSFACTORY iface) {
356 ICOM_THIS(IClassFactoryImpl,iface);
357 /* static class, won't be freed */
358 return --(This->ref);
361 static HRESULT WINAPI ScriptAutoImplAudioPathConfigCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
362 ICOM_THIS(IClassFactoryImpl,iface);
363 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
364 /* nothing here yet */
365 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
366 return E_NOINTERFACE;
369 static HRESULT WINAPI ScriptAutoImplAudioPathConfigCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
370 ICOM_THIS(IClassFactoryImpl,iface);
371 FIXME("(%p)->(%d),stub!\n", This, dolock);
375 static ICOM_VTABLE(IClassFactory) ScriptAutoImplAudioPathConfigCF_Vtbl = {
376 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
377 ScriptAutoImplAudioPathConfigCF_QueryInterface,
378 ScriptAutoImplAudioPathConfigCF_AddRef,
379 ScriptAutoImplAudioPathConfigCF_Release,
380 ScriptAutoImplAudioPathConfigCF_CreateInstance,
381 ScriptAutoImplAudioPathConfigCF_LockServer
384 static IClassFactoryImpl ScriptAutoImplAudioPathConfig_CF = {&ScriptAutoImplAudioPathConfigCF_Vtbl, 1 };
386 /******************************************************************
387 * DirectMusicScriptAutoImplAudioPath ClassFactory
389 static HRESULT WINAPI ScriptAutoImplAudioPathCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
390 ICOM_THIS(IClassFactoryImpl,iface);
391 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
392 return E_NOINTERFACE;
395 static ULONG WINAPI ScriptAutoImplAudioPathCF_AddRef(LPCLASSFACTORY iface) {
396 ICOM_THIS(IClassFactoryImpl,iface);
397 return ++(This->ref);
400 static ULONG WINAPI ScriptAutoImplAudioPathCF_Release(LPCLASSFACTORY iface) {
401 ICOM_THIS(IClassFactoryImpl,iface);
402 /* static class, won't be freed */
403 return --(This->ref);
406 static HRESULT WINAPI ScriptAutoImplAudioPathCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
407 ICOM_THIS(IClassFactoryImpl,iface);
408 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
409 /* nothing here yet */
410 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
411 return E_NOINTERFACE;
414 static HRESULT WINAPI ScriptAutoImplAudioPathCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
415 ICOM_THIS(IClassFactoryImpl,iface);
416 FIXME("(%p)->(%d),stub!\n", This, dolock);
420 static ICOM_VTABLE(IClassFactory) ScriptAutoImplAudioPathCF_Vtbl = {
421 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
422 ScriptAutoImplAudioPathCF_QueryInterface,
423 ScriptAutoImplAudioPathCF_AddRef,
424 ScriptAutoImplAudioPathCF_Release,
425 ScriptAutoImplAudioPathCF_CreateInstance,
426 ScriptAutoImplAudioPathCF_LockServer
429 static IClassFactoryImpl ScriptAutoImplAudioPath_CF = {&ScriptAutoImplAudioPathCF_Vtbl, 1 };
431 /******************************************************************
432 * DirectMusicScriptAutoImplSong ClassFactory
434 static HRESULT WINAPI ScriptAutoImplSongCF_QueryInterface(LPCLASSFACTORY iface,REFIID riid,LPVOID *ppobj) {
435 ICOM_THIS(IClassFactoryImpl,iface);
436 FIXME("(%p)->(%s,%p),stub!\n",This,debugstr_guid(riid),ppobj);
437 return E_NOINTERFACE;
440 static ULONG WINAPI ScriptAutoImplSongCF_AddRef(LPCLASSFACTORY iface) {
441 ICOM_THIS(IClassFactoryImpl,iface);
442 return ++(This->ref);
445 static ULONG WINAPI ScriptAutoImplSongCF_Release(LPCLASSFACTORY iface) {
446 ICOM_THIS(IClassFactoryImpl,iface);
447 /* static class, won't be freed */
448 return --(This->ref);
451 static HRESULT WINAPI ScriptAutoImplSongCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pOuter, REFIID riid, LPVOID *ppobj) {
452 ICOM_THIS(IClassFactoryImpl,iface);
453 TRACE ("(%p)->(%p,%s,%p)\n", This, pOuter, debugstr_guid(riid), ppobj);
454 /* nothing here yet */
455 WARN("(%p)->(%s,%p),not found\n", This, debugstr_guid(riid), ppobj);
456 return E_NOINTERFACE;
459 static HRESULT WINAPI ScriptAutoImplSongCF_LockServer(LPCLASSFACTORY iface,BOOL dolock) {
460 ICOM_THIS(IClassFactoryImpl,iface);
461 FIXME("(%p)->(%d),stub!\n", This, dolock);
465 static ICOM_VTABLE(IClassFactory) ScriptAutoImplSongCF_Vtbl = {
466 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
467 ScriptAutoImplSongCF_QueryInterface,
468 ScriptAutoImplSongCF_AddRef,
469 ScriptAutoImplSongCF_Release,
470 ScriptAutoImplSongCF_CreateInstance,
471 ScriptAutoImplSongCF_LockServer
474 static IClassFactoryImpl ScriptAutoImplSong_CF = {&ScriptAutoImplSongCF_Vtbl, 1 };
476 /******************************************************************
481 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
482 if (fdwReason == DLL_PROCESS_ATTACH) {
483 DisableThreadLibraryCalls(hinstDLL);
484 /* FIXME: Initialisation */
485 } else if (fdwReason == DLL_PROCESS_DETACH) {
493 /******************************************************************
494 * DllCanUnloadNow (DMSCRIPT.1)
498 HRESULT WINAPI DMSCRIPT_DllCanUnloadNow(void) {
499 FIXME("(void): stub\n");
504 /******************************************************************
505 * DllGetClassObject (DMSCRIPT.2)
509 HRESULT WINAPI DMSCRIPT_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) {
510 TRACE("(%p,%p,%p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
511 if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpSegment) && IsEqualIID (riid, &IID_IClassFactory)) {
512 *ppv = (LPVOID) &ScriptAutoImplSegment_CF;
513 IClassFactory_AddRef((IClassFactory*)*ppv);
515 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptTrack) && IsEqualIID (riid, &IID_IClassFactory)) {
516 *ppv = (LPVOID) &ScriptTrack_CF;
517 IClassFactory_AddRef((IClassFactory*)*ppv);
519 } else if (IsEqualCLSID (rclsid, &CLSID_AudioVBScript) && IsEqualIID (riid, &IID_IClassFactory)) {
520 *ppv = (LPVOID) &AudioVBScript_CF;
521 IClassFactory_AddRef((IClassFactory*)*ppv);
523 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScript) && IsEqualIID (riid, &IID_IClassFactory)) {
524 *ppv = (LPVOID) &Script_CF;
525 IClassFactory_AddRef((IClassFactory*)*ppv);
527 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpPerformance) && IsEqualIID (riid, &IID_IClassFactory)) {
528 *ppv = (LPVOID) &ScriptAutoImplPerformance_CF;
529 IClassFactory_AddRef((IClassFactory*)*ppv);
531 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScripSourceCodeLoader) && IsEqualIID (riid, &IID_IClassFactory)) {
532 *ppv = (LPVOID) &ScriptSourceCodeLoader_CF;
533 IClassFactory_AddRef((IClassFactory*)*ppv);
535 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpSegmentState) && IsEqualIID (riid, &IID_IClassFactory)) {
536 *ppv = (LPVOID) &ScriptAutoImplSegmentState_CF;
537 IClassFactory_AddRef((IClassFactory*)*ppv);
539 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpAudioPathConfig) && IsEqualIID (riid, &IID_IClassFactory)) {
540 *ppv = (LPVOID) &ScriptAutoImplAudioPathConfig_CF;
541 IClassFactory_AddRef((IClassFactory*)*ppv);
543 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpAudioPath) && IsEqualIID (riid, &IID_IClassFactory)) {
544 *ppv = (LPVOID) &ScriptAutoImplAudioPath_CF;
545 IClassFactory_AddRef((IClassFactory*)*ppv);
547 } else if (IsEqualCLSID (rclsid, &CLSID_DirectMusicScriptAutoImpSong) && IsEqualIID (riid, &IID_IClassFactory)) {
548 *ppv = (LPVOID) &ScriptAutoImplSong_CF;
549 IClassFactory_AddRef((IClassFactory*)*ppv);
553 WARN("(%p,%p,%p): no interface found.\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
554 return CLASS_E_CLASSNOTAVAILABLE;