.spec.c files are no longer used for 32-bit dlls.
[wine] / dlls / devenum / devenum_private.h
1 /*
2  *      includes for devenum.dll
3  *
4  * Copyright (C) 2002 John K. Hohm
5  * Copyright (C) 2002 Robert Shearman
6  *
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.
11  *
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.
16  *
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  *
21  * NOTES ON FILE:
22  * - Private file where devenum globals are declared
23  */
24
25 #include <stdarg.h>
26
27 #include "windef.h"
28 #include "winbase.h"
29 #include "winuser.h"
30 #include "winreg.h"
31 #include "winerror.h"
32
33 #define COM_NO_WINDOWS_H
34 #include "ole2.h"
35 #include "strmif.h"
36 #include "olectl.h"
37 #include "wine/unicode.h"
38 #include "uuids.h"
39
40 /**********************************************************************
41  * Dll lifetime tracking declaration for devenum.dll
42  */
43 extern DWORD dll_ref;
44
45 /**********************************************************************
46  * ClassFactory declaration for devenum.dll
47  */
48 typedef struct
49 {
50     /* IUnknown fields */
51     ICOM_VFIELD(IClassFactory);
52     DWORD ref;
53 } ClassFactoryImpl;
54
55 typedef struct
56 {
57     ICOM_VFIELD(ICreateDevEnum);
58     DWORD ref;
59 } CreateDevEnumImpl;
60
61 typedef struct
62 {
63     ICOM_VFIELD(IEnumMoniker);
64     DWORD ref;
65     DWORD index;
66     HKEY hkey;
67 } EnumMonikerImpl;
68
69 typedef struct
70 {
71     ICOM_VFIELD(IMoniker);
72
73     DWORD ref;
74     HKEY hkey;
75 } MediaCatMoniker;
76
77 typedef struct
78 {
79     ICOM_VFIELD(IPropertyBag);
80     DWORD ref;
81     HKEY hkey;
82 } RegPropBagImpl;
83
84 typedef struct
85 {
86     ICOM_VFIELD(IParseDisplayName);
87     DWORD ref;
88 } ParseDisplayNameImpl;
89
90 MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct();
91 HRESULT WINAPI DEVENUM_ICreateDevEnum_CreateClassEnumerator(
92     ICreateDevEnum * iface,
93     REFCLSID clsidDeviceClass,
94     IEnumMoniker **ppEnumMoniker,
95     DWORD dwFlags);
96
97 extern ClassFactoryImpl DEVENUM_ClassFactory;
98 extern CreateDevEnumImpl DEVENUM_CreateDevEnum;
99 extern ParseDisplayNameImpl DEVENUM_ParseDisplayName;
100
101 /**********************************************************************
102  * Global string constant declarations
103  */
104 extern const WCHAR clsid_keyname[6];
105 extern const WCHAR wszInstanceKeyName[];
106 extern const WCHAR wszRegSeperator[];
107 #define CLSID_STR_LEN (sizeof(clsid_keyname) / sizeof(WCHAR))
108
109 /**********************************************************************
110  * Resource IDs
111  */
112 #define IDS_DEVENUM_DSDEFAULT 7
113 #define IDS_DEVENUM_DS        8
114 #define IDS_DEVENUM_WODEFAULT 9
115 #define IDS_DEVENUM_MIDEFAULT 10
116 #define IDS_DEVENUM_KSDEFAULT 11
117 #define IDS_DEVENUM_KS        12