blob: 540452458319e572efafd5b58e3cbabc15ab289f [file] [log] [blame]
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +00001/*
2 * Regster/Unregister servers. (for internal use)
3 *
Alexandre Julliard0799c1a2002-03-09 23:29:33 +00004 * Copyright (C) Hidenori TAKESHIMA <hidenori@a2.ctktv.ne.jp>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +000019 */
20
21#ifndef QUARTZ_REGSVR_H
22#define QUARTZ_REGSVR_H
23
Hidenori Takeshimad3598122001-10-28 21:16:00 +000024extern const WCHAR QUARTZ_wszREG_SZ[7];
Hidenori Takeshima96e96152001-09-07 19:46:49 +000025extern const WCHAR QUARTZ_wszInprocServer32[];
26extern const WCHAR QUARTZ_wszThreadingModel[];
27extern const WCHAR QUARTZ_wszBoth[];
28extern const WCHAR QUARTZ_wszCLSID[];
29extern const WCHAR QUARTZ_wszFilterData[];
30extern const WCHAR QUARTZ_wszFriendlyName[];
31extern const WCHAR QUARTZ_wszInstance[];
32extern const WCHAR QUARTZ_wszMerit[];
Hidenori Takeshimad3598122001-10-28 21:16:00 +000033extern const WCHAR QUARTZ_wszMediaType[];
34extern const WCHAR QUARTZ_wszSubType[];
35extern const WCHAR QUARTZ_wszExtensions[];
36extern const WCHAR QUARTZ_wszSourceFilter[];
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +000037
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +000038
Hidenori Takeshimad3598122001-10-28 21:16:00 +000039void QUARTZ_CatPathSepW( WCHAR* pBuf );
40void QUARTZ_GUIDtoString( WCHAR* pBuf, const GUID* pguid );
41
Hidenori Takeshima96e96152001-09-07 19:46:49 +000042HRESULT QUARTZ_CreateCLSIDPath(
43 WCHAR* pwszBuf, DWORD dwBufLen,
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +000044 const CLSID* pclsid,
Hidenori Takeshima96e96152001-09-07 19:46:49 +000045 LPCWSTR lpszPathFromCLSID );
46
47HRESULT QUARTZ_OpenCLSIDKey(
48 HKEY* phkey, /* [OUT] hKey */
49 REGSAM rsAccess, /* [IN] access */
50 BOOL fCreate, /* TRUE = RegCreateKey, FALSE = RegOpenKey */
51 const CLSID* pclsid, /* CLSID */
52 LPCWSTR lpszPathFromCLSID ); /* related path from CLSID */
53
54HRESULT QUARTZ_RegisterAMovieDLLServer(
55 const CLSID* pclsid, /* [IN] CLSID */
56 LPCWSTR lpFriendlyName, /* [IN] Friendly name */
57 LPCWSTR lpNameOfDLL, /* [IN] name of the registered DLL */
58 BOOL fRegister ); /* [IN] TRUE = register, FALSE = unregister */
59
60HRESULT QUARTZ_RegisterCategory(
61 const CLSID* pguidFilterCategory, /* [IN] Category */
62 LPCWSTR lpFriendlyName, /* [IN] friendly name */
63 DWORD dwMerit, /* [IN] merit */
64 BOOL fRegister ); /* [IN] TRUE = register, FALSE = unregister */
65
66HRESULT QUARTZ_RegisterAMovieFilter(
67 const CLSID* pguidFilterCategory, /* [IN] Category */
68 const CLSID* pclsid, /* [IN] CLSID of this filter */
69 const BYTE* pbFilterData, /* [IN] filter data(no spec) */
70 DWORD cbFilterData, /* [IN] size of the filter data */
71 LPCWSTR lpFriendlyName, /* [IN] friendly name */
72 LPCWSTR lpInstance, /* [IN] instance */
73 BOOL fRegister ); /* [IN] TRUE = register, FALSE = unregister */
Hidenori Takeshima8eebd2c2001-08-28 17:25:39 +000074
75
76#endif /* QUARTZ_REGSVR_H */