ReactOS
0.4.16-dev-91-g764881a
devenum_private.h
Go to the documentation of this file.
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20
*
21
* NOTES ON FILE:
22
* - Private file where devenum globals are declared
23
*/
24
25
#pragma once
26
27
#ifndef RC_INVOKED
28
#include <stdarg.h>
29
#endif
30
31
#include "
windef.h
"
32
#include "
winbase.h
"
33
#include "
wingdi.h
"
34
#include "
winuser.h
"
35
#include "
winreg.h
"
36
#include "
winerror.h
"
37
38
#define COBJMACROS
39
40
#include "
ole2.h
"
41
#include "strmif.h"
42
#include "
olectl.h
"
43
#include "
uuids.h
"
44
45
/**********************************************************************
46
* Dll lifetime tracking declaration for devenum.dll
47
*/
48
extern
LONG
dll_refs
DECLSPEC_HIDDEN
;
49
static
inline
void
DEVENUM_LockModule
(
void
) {
InterlockedIncrement
(&
dll_refs
); }
50
static
inline
void
DEVENUM_UnlockModule
(
void
) {
InterlockedDecrement
(&
dll_refs
); }
51
52
enum
device_type
53
{
54
DEVICE_FILTER
,
55
DEVICE_CODEC
,
56
DEVICE_DMO
,
57
};
58
59
typedef
struct
60
{
61
IMoniker
IMoniker_iface
;
62
LONG
ref
;
63
CLSID
class
;
64
BOOL
has_class
;
65
enum
device_type
type
;
66
union
67
{
68
WCHAR
*
name
;
/* for filters and codecs */
69
CLSID
clsid
;
/* for DMOs */
70
};
71
}
MediaCatMoniker
;
72
73
MediaCatMoniker
*
DEVENUM_IMediaCatMoniker_Construct
(
void
)
DECLSPEC_HIDDEN
;
74
HRESULT
create_EnumMoniker
(
REFCLSID
class
,
IEnumMoniker
**enum_mon)
DECLSPEC_HIDDEN
;
75
76
extern
ICreateDevEnum
DEVENUM_CreateDevEnum
DECLSPEC_HIDDEN
;
77
extern
IParseDisplayName
DEVENUM_ParseDisplayName
DECLSPEC_HIDDEN
;
78
79
/**********************************************************************
80
* Global string constant declarations
81
*/
82
83
static
const
WCHAR
backslashW
[] = {
'\\'
,0};
84
static
const
WCHAR
clsidW
[] = {
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,0};
85
static
const
WCHAR
instanceW
[] = {
'\\'
,
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'n'
,
'c'
,
'e'
,0};
86
static
const
WCHAR
wszActiveMovieKey
[] = {
'S'
,
'o'
,
'f'
,
't'
,
'w'
,
'a'
,
'r'
,
'e'
,
'\\'
,
87
'M'
,
'i'
,
'c'
,
'r'
,
'o'
,
's'
,
'o'
,
'f'
,
't'
,
'\\'
,
88
'A'
,
'c'
,
't'
,
'i'
,
'v'
,
'e'
,
'M'
,
'o'
,
'v'
,
'i'
,
'e'
,
'\\'
,
89
'd'
,
'e'
,
'v'
,
'e'
,
'n'
,
'u'
,
'm'
,
'\\'
,0};
90
static
const
WCHAR
deviceW
[] = {
'@'
,
'd'
,
'e'
,
'v'
,
'i'
,
'c'
,
'e'
,
':'
,0};
91
static
const
WCHAR
dmoW
[] = {
'd'
,
'm'
,
'o'
,
':'
,0};
92
static
const
WCHAR
swW
[] = {
's'
,
'w'
,
':'
,0};
93
static
const
WCHAR
cmW
[] = {
'c'
,
'm'
,
':'
,0};
InterlockedIncrement
#define InterlockedIncrement
Definition:
armddk.h:53
InterlockedDecrement
#define InterlockedDecrement
Definition:
armddk.h:52
DEVENUM_CreateDevEnum
ICreateDevEnum DEVENUM_CreateDevEnum
Definition:
createdevenum.c:898
dll_refs
DECLSPEC_HIDDEN LONG dll_refs
Definition:
devenum_main.c:28
instanceW
static const WCHAR instanceW[]
Definition:
devenum_private.h:85
cmW
static const WCHAR cmW[]
Definition:
devenum_private.h:93
dmoW
static const WCHAR dmoW[]
Definition:
devenum_private.h:91
wszActiveMovieKey
static const WCHAR wszActiveMovieKey[]
Definition:
devenum_private.h:86
deviceW
static const WCHAR deviceW[]
Definition:
devenum_private.h:90
swW
static const WCHAR swW[]
Definition:
devenum_private.h:92
DECLSPEC_HIDDEN
LONG dll_refs DECLSPEC_HIDDEN
Definition:
devenum_private.h:76
DEVENUM_UnlockModule
static void DEVENUM_UnlockModule(void)
Definition:
devenum_private.h:50
create_EnumMoniker
HRESULT create_EnumMoniker(REFCLSID class, IEnumMoniker **enum_mon) DECLSPEC_HIDDEN
Definition:
mediacatenum.c:1014
backslashW
static const WCHAR backslashW[]
Definition:
devenum_private.h:83
device_type
device_type
Definition:
devenum_private.h:53
DEVICE_FILTER
@ DEVICE_FILTER
Definition:
devenum_private.h:54
DEVICE_DMO
@ DEVICE_DMO
Definition:
devenum_private.h:56
DEVICE_CODEC
@ DEVICE_CODEC
Definition:
devenum_private.h:55
DEVENUM_LockModule
static void DEVENUM_LockModule(void)
Definition:
devenum_private.h:49
DEVENUM_IMediaCatMoniker_Construct
MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct(void) DECLSPEC_HIDDEN
Definition:
mediacatenum.c:786
clsidW
static const WCHAR clsidW[]
Definition:
devenum_private.h:84
BOOL
unsigned int BOOL
Definition:
ntddk_ex.h:94
HRESULT
Definition:
mshtmhst.idl:286
ICreateDevEnum
Definition:
devenum.idl:32
IEnumMoniker
Definition:
objidl.idl:413
IMoniker
Definition:
objidl.idl:551
IParseDisplayName
Definition:
oleidl.idl:282
ole2.h
olectl.h
DEVENUM_ParseDisplayName
IParseDisplayName DEVENUM_ParseDisplayName
Definition:
parsedisplayname.c:171
LONG
long LONG
Definition:
pedump.c:60
REFCLSID
#define REFCLSID
Definition:
guiddef.h:117
MediaCatMoniker
Definition:
devenum_private.h:60
MediaCatMoniker::has_class
BOOL has_class
Definition:
devenum_private.h:64
MediaCatMoniker::IMoniker_iface
IMoniker IMoniker_iface
Definition:
devenum_private.h:61
MediaCatMoniker::name
WCHAR * name
Definition:
devenum_private.h:68
MediaCatMoniker::type
enum device_type type
Definition:
devenum_private.h:65
MediaCatMoniker::clsid
CLSID clsid
Definition:
devenum_private.h:69
MediaCatMoniker::ref
LONG ref
Definition:
devenum_private.h:62
_IID
Definition:
mstsclib_i.c:51
uuids.h
winbase.h
windef.h
winerror.h
wingdi.h
winreg.h
winuser.h
WCHAR
__wchar_t WCHAR
Definition:
xmlstorage.h:180
dll
directx
wine
devenum
devenum_private.h
Generated on Fri Oct 4 2024 06:02:59 for ReactOS by
1.9.6