2 * includes for devenum.dll
4 * Copyright (C) 2002 John K. Hohm
5 * Copyright (C) 2002 Robert Shearman
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 * - Private file where devenum globals are declared
30 /**********************************************************************
31 * Dll lifetime tracking declaration for devenum.dll
33 extern LONG dll_refs DECLSPEC_HIDDEN
;
34 static inline void DEVENUM_LockModule(void) { InterlockedIncrement(&dll_refs
); }
35 static inline void DEVENUM_UnlockModule(void) { InterlockedDecrement(&dll_refs
); }
46 IMoniker IMoniker_iface
;
50 enum device_type type
;
51 WCHAR
*name
; /* for filters and codecs */
52 CLSID clsid
; /* for DMOs */
54 IPropertyBag IPropertyBag_iface
;
57 HRESULT
create_filter_data(VARIANT
*var
, REGFILTER2
*rgf
) DECLSPEC_HIDDEN
;
58 struct moniker
*dmo_moniker_create(const GUID
class, const GUID clsid
) DECLSPEC_HIDDEN
;
59 struct moniker
*codec_moniker_create(const GUID
*class, const WCHAR
*name
) DECLSPEC_HIDDEN
;
60 struct moniker
*filter_moniker_create(const GUID
*class, const WCHAR
*name
) DECLSPEC_HIDDEN
;
61 HRESULT
enum_moniker_create(REFCLSID
class, IEnumMoniker
**enum_mon
) DECLSPEC_HIDDEN
;
63 extern ICreateDevEnum devenum_factory DECLSPEC_HIDDEN
;
64 extern IParseDisplayName devenum_parser DECLSPEC_HIDDEN
;