Commit 5bc129aa authored by Alexandre Julliard's avatar Alexandre Julliard

dmime: Convert dll registration to the IRegistrar mechanism.

parent 8db3669d
...@@ -10,7 +10,6 @@ C_SRCS = \ ...@@ -10,7 +10,6 @@ C_SRCS = \
markertrack.c \ markertrack.c \
paramcontroltrack.c \ paramcontroltrack.c \
performance.c \ performance.c \
regsvr.c \
segment.c \ segment.c \
segmentstate.c \ segmentstate.c \
segtriggertrack.c \ segtriggertrack.c \
...@@ -20,6 +19,8 @@ C_SRCS = \ ...@@ -20,6 +19,8 @@ C_SRCS = \
timesigtrack.c \ timesigtrack.c \
wavetrack.c wavetrack.c
IDL_R_SRCS = dmime.idl
RC_SRCS = version.rc RC_SRCS = version.rc
@MAKE_DLL_RULES@ @MAKE_DLL_RULES@
/*
* COM Classes for dmime
*
* Copyright 2010 Alexandre Julliard
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
[
threading(both),
progid("Microsoft.DirectMusicPerformance.1"),
vi_progid("Microsoft.DirectMusicPerformance"),
uuid(d2ac2881-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicPerformance { interface IDirectMusicPerformance; }
[
threading(both),
progid("Microsoft.DirectMusicSegment.1"),
vi_progid("Microsoft.DirectMusicSegment"),
uuid(d2ac2882-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicSegment { interface IDirectMusicSegment; }
[
threading(both),
progid("Microsoft.DirectMusicSegmentState.1"),
vi_progid("Microsoft.DirectMusicSegmentState"),
uuid(d2ac2883-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicSegmentState { interface IDirectMusicSegmentState; }
[
threading(both),
progid("Microsoft.DirectMusicGraph.1"),
vi_progid("Microsoft.DirectMusicGraph"),
uuid(d2ac2884-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicGraph { interface IDirectMusicGraph; }
[
threading(both),
progid("Microsoft.DirectMusicTempoTrack.1"),
vi_progid("Microsoft.DirectMusicTempoTrack"),
uuid(d2ac2885-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicTempoTrack { interface IDirectMusicTempoTrack; }
[
threading(both),
progid("Microsoft.DirectMusicSeqTrack.1"),
vi_progid("Microsoft.DirectMusicSeqTrack"),
uuid(d2ac2886-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicSeqTrack { interface IDirectMusicSeqTrack; }
[
threading(both),
progid("Microsoft.DirectMusicSysExTrack.1"),
vi_progid("Microsoft.DirectMusicSysExTrack"),
uuid(d2ac2887-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicSysExTrack { interface IDirectMusicSysExTrack; }
[
threading(both),
progid("Microsoft.DirectMusicTimeSigTrack.1"),
vi_progid("Microsoft.DirectMusicTimeSigTrack"),
uuid(d2ac2888-b39b-11d1-8704-00600893b1bd)
]
coclass DirectMusicTimeSigTrack { interface IDirectMusicTimeSigTrack; }
[
threading(both),
progid("Microsoft.DirectMusicSong.1"),
vi_progid("Microsoft.DirectMusicSong"),
uuid(aed5f0a5-d972-483d-a384-649dfeb9c181)
]
coclass DirectMusicSong { interface IDirectMusicSong; }
[
threading(both),
progid("Microsoft.DirectMusicParamControlTrack.1"),
vi_progid("Microsoft.DirectMusicParamControlTrack"),
uuid(4be0537b-5c19-11d3-8bdc-00600893b1b6)
]
coclass DirectMusicParamControlTrack { interface IDirectMusicParamControlTrack; }
[
threading(both),
progid("Microsoft.DirectMusicMarkerTrack.1"),
vi_progid("Microsoft.DirectMusicMarkerTrack"),
uuid(55a8fd00-4288-11d3-9bd1-8a0d61c88835)
]
coclass DirectMusicMarkerTrack { interface IDirectMusicMarkerTrack; }
[
threading(both),
progid("Microsoft.DirectMusicLyricsTrack.1"),
vi_progid("Microsoft.DirectMusicLyricsTrack"),
uuid(995c1cf5-54ff-11d3-8bda-00600893b1b6)
]
coclass DirectMusicLyricsTrack { interface IDirectMusicLyricsTrack; }
[
threading(both),
progid("Microsoft.DirectMusicSegTriggerTrack.1"),
vi_progid("Microsoft.DirectMusicSegTriggerTrack"),
uuid(bae4d665-4ea1-11d3-8bda-00600893b1b6)
]
coclass DirectMusicSegTriggerTrack { interface IDirectMusicSegTriggerTrack; }
[
threading(both),
progid("Microsoft.DirectMusicAudioPath.1"),
vi_progid("Microsoft.DirectMusicAudioPath"),
uuid(ee0b9ca0-a81e-11d3-9bd1-0080c7150a74)
]
coclass DirectMusicAudioPath { interface IDirectMusicAudioPath; }
[
threading(both),
progid("Microsoft.DirectMusicWaveTrack.1"),
vi_progid("Microsoft.DirectMusicWaveTrack"),
uuid(eed36461-9ea5-11d3-9bd1-0080c7150a74)
]
coclass DirectMusicWaveTrack { interface IDirectMusicWaveTrack; }
...@@ -19,9 +19,11 @@ ...@@ -19,9 +19,11 @@
*/ */
#include "dmime_private.h" #include "dmime_private.h"
#include "rpcproxy.h"
WINE_DEFAULT_DEBUG_CHANNEL(dmime); WINE_DEFAULT_DEBUG_CHANNEL(dmime);
static HINSTANCE instance;
LONG DMIME_refCount = 0; LONG DMIME_refCount = 0;
typedef struct { typedef struct {
...@@ -735,6 +737,7 @@ static IClassFactoryImpl WaveTrack_CF = {&WaveTrackCF_Vtbl}; ...@@ -735,6 +737,7 @@ static IClassFactoryImpl WaveTrack_CF = {&WaveTrackCF_Vtbl};
*/ */
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
if (fdwReason == DLL_PROCESS_ATTACH) { if (fdwReason == DLL_PROCESS_ATTACH) {
instance = hinstDLL;
DisableThreadLibraryCalls(hinstDLL); DisableThreadLibraryCalls(hinstDLL);
/* FIXME: Initialisation */ /* FIXME: Initialisation */
} }
...@@ -826,3 +829,19 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) ...@@ -826,3 +829,19 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
WARN("(%s, %s, %p): no interface found.\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv); WARN("(%s, %s, %p): no interface found.\n", debugstr_dmguid(rclsid), debugstr_dmguid(riid), ppv);
return CLASS_E_CLASSNOTAVAILABLE; return CLASS_E_CLASSNOTAVAILABLE;
} }
/***********************************************************************
* DllRegisterServer (DMIME.@)
*/
HRESULT WINAPI DllRegisterServer(void)
{
return __wine_register_resources( instance, NULL );
}
/***********************************************************************
* DllUnregisterServer (DMIME.@)
*/
HRESULT WINAPI DllUnregisterServer(void)
{
return __wine_unregister_resources( instance, NULL );
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment