2 * Regster/Unregister servers. (for internal use)
4 * Copyright (C) Hidenori TAKESHIMA <hidenori@a2.ctktv.ne.jp>
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.
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.
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
21 #ifndef QUARTZ_REGSVR_H
22 #define QUARTZ_REGSVR_H
24 extern const WCHAR QUARTZ_wszREG_SZ[7];
25 extern const WCHAR QUARTZ_wszInprocServer32[];
26 extern const WCHAR QUARTZ_wszThreadingModel[];
27 extern const WCHAR QUARTZ_wszBoth[];
28 extern const WCHAR QUARTZ_wszCLSID[];
29 extern const WCHAR QUARTZ_wszFilterData[];
30 extern const WCHAR QUARTZ_wszFriendlyName[];
31 extern const WCHAR QUARTZ_wszInstance[];
32 extern const WCHAR QUARTZ_wszMerit[];
33 extern const WCHAR QUARTZ_wszMediaType[];
34 extern const WCHAR QUARTZ_wszSubType[];
35 extern const WCHAR QUARTZ_wszExtensions[];
36 extern const WCHAR QUARTZ_wszSourceFilter[];
39 void QUARTZ_CatPathSepW( WCHAR* pBuf );
40 void QUARTZ_GUIDtoString( WCHAR* pBuf, const GUID* pguid );
42 HRESULT QUARTZ_CreateCLSIDPath(
43 WCHAR* pwszBuf, DWORD dwBufLen,
45 LPCWSTR lpszPathFromCLSID );
47 HRESULT 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 */
54 HRESULT 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 */
60 HRESULT 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 */
66 HRESULT 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 */
76 #endif /* QUARTZ_REGSVR_H */