Commit e5596404 authored by Alexandre Julliard's avatar Alexandre Julliard

dmscript: Convert dll registration to the IRegistrar mechanism.

parent 4e4ea3f0
......@@ -3,10 +3,11 @@ IMPORTS = dxguid uuid ole32 advapi32
C_SRCS = \
dmscript_main.c \
regsvr.c \
script.c \
scripttrack.c
RC_SRCS = version.rc
IDL_R_SRCS = dmscript.idl
RC_SRCS = rsrc.rc
@MAKE_DLL_RULES@
/*
* COM Classes for dmscript
*
* 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
*/
[
helpstring("DirectMusic Script AutoImp Segment"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpSegment.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpSegment"),
uuid(4062c116-0270-11d3-8bcb-00600893b1b6)
]
coclass DirectMusicScriptAutoImpSegment { interface IDirectMusicScriptAutoImpSegment; }
[
threading(both),
progid("Microsoft.DirectMusicScriptTrack.1"),
vi_progid("Microsoft.DirectMusicScriptTrack"),
uuid(4108fa85-3586-11d3-8bd7-00600893b1b6)
]
coclass DirectMusicScriptTrack { interface IDirectMusicScriptTrack; }
[
helpstring("DirectMusic Script Object"),
threading(both),
progid("Microsoft.DirectMusicScript.1"),
vi_progid("Microsoft.DirectMusicScript"),
uuid(810b5013-e88d-11d2-8bc1-00600893b1b6)
]
coclass DirectMusicScript { interface IDirectMusicScript; }
[
helpstring("DirectMusic Script AutoImp Performance"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpPerformance.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpPerformance"),
uuid(a861c6e2-fcfc-11d2-8bc9-00600893b1b6)
]
coclass DirectMusicScriptAutoImpPerformance { interface IDirectMusicScriptAutoImpPerformance; }
[
helpstring("DirectMusic Script Source Code Loader"),
threading(both),
progid("Microsoft.DirectMusicScripSourceCodeLoader.1"), /* sic */
vi_progid("Microsoft.DirectMusicScripSourceCodeLoader"),
uuid(c70eb77f-efd4-4678-a27b-bf1648f30d04)
]
coclass DirectMusicScriptSourceCodeLoader { interface IDirectMusicScriptSourceCodeLoader; }
[
helpstring("DirectMusic Script AutoImp SegmentState"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpSegmentState.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpSegmentState"),
uuid(ebf2320a-2502-11d3-8bd1-00600893b1b6)
]
coclass DirectMusicScriptAutoImpSegmentState { interface IDirectMusicScriptAutoImpSegmentState; }
[
helpstring("DirectMusic Script AutoImp AudioPathConfig"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpAudioPathConfig.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpAudioPathConfig"),
uuid(1cebde3e-6b91-484a-af48-5e4f4ed6b1e1)
]
coclass DirectMusicScriptAutoImpAudioPathConfig { interface IDirectMusicScriptAutoImpAudioPathConfig; }
[
helpstring("DirectMusic Script AutoImp AudioPath"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpAudioPath.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpAudioPath"),
uuid(2c5f9b72-7148-4d97-bfc9-68a0e076bebd)
]
coclass DirectMusicScriptAutoImpAudioPath { interface IDirectMusicScriptAutoImpAudioPath; }
[
helpstring("DirectMusic Script AutoImp Song"),
threading(both),
progid("Microsoft.DirectMusicScriptAutoImpSong.1"),
vi_progid("Microsoft.DirectMusicScriptAutoImpSong"),
uuid(a16f1761-b6d8-42eb-8d57-4a44fedd3bd2)
]
coclass DirectMusicScriptAutoImpSong { interface IDirectMusicScriptAutoImpSong; }
[
helpstring("DirectMusic Audio VB Script Language"),
threading(both),
progid("AudioVBScript.1"),
vi_progid("AudioVBScript"),
uuid(4ee17959-931e-49e4-a2c6-977ecf3628f3)
]
coclass AudioVBScript { interface IAudioVBScript; }
HKCR
{
NoRemove AudioVBScript { DMScript }
NoRemove AudioVBScript.1 { DMScript }
}
......@@ -21,9 +21,11 @@
#include "wine/port.h"
#include "dmscript_private.h"
#include "rpcproxy.h"
WINE_DEFAULT_DEBUG_CHANNEL(dmscript);
static HINSTANCE instance;
LONG DMSCRIPT_refCount = 0;
typedef struct {
......@@ -552,6 +554,7 @@ static IClassFactoryImpl ScriptAutoImplSong_CF = {&ScriptAutoImplSongCF_Vtbl};
*/
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
if (fdwReason == DLL_PROCESS_ATTACH) {
instance = hinstDLL;
DisableThreadLibraryCalls(hinstDLL);
/* FIXME: Initialisation */
} else if (fdwReason == DLL_PROCESS_DETACH) {
......@@ -628,6 +631,22 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
}
/***********************************************************************
* DllRegisterServer (DMSCRIPT.@)
*/
HRESULT WINAPI DllRegisterServer(void)
{
return __wine_register_resources( instance, NULL );
}
/***********************************************************************
* DllUnregisterServer (DMSCRIPT.@)
*/
HRESULT WINAPI DllUnregisterServer(void)
{
return __wine_unregister_resources( instance, NULL );
}
/******************************************************************
* Helper functions
*
......
......@@ -16,6 +16,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* @makedep: dmscript.rgs */
1 WINE_REGISTRY dmscript.rgs
#define WINE_FILEDESCRIPTION_STR "Wine DirectMusic Scripting"
#define WINE_FILENAME_STR "dmscript.dll"
#define WINE_FILEVERSION 5,3,0,900
......
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