source: trunk/src/quartz/devmon.h@ 6952

Last change on this file since 6952 was 6952, checked in by sandervl, 24 years ago

Wine 20011004 resync

File size: 1.3 KB
Line 
1#ifndef WINE_DSHOW_DEVMON_H
2#define WINE_DSHOW_DEVMON_H
3
4/*
5 implements CLSID_CDeviceMoniker.
6
7 - At least, the following interfaces should be implemented:
8
9 IUnknown
10 + IPersist - IPersistStream - IMoniker
11 */
12
13#include "iunk.h"
14
15typedef struct DMON_IMonikerImpl
16{
17 ICOM_VFIELD(IMoniker);
18} DMON_IMonikerImpl;
19
20typedef struct CDeviceMoniker
21{
22 QUARTZ_IUnkImpl unk;
23 DMON_IMonikerImpl moniker;
24 /* IMoniker fields */
25 HKEY m_hkRoot;
26 WCHAR* m_pwszPath;
27} CDeviceMoniker;
28
29#define CDeviceMoniker_THIS(iface,member) CDeviceMoniker* This = (CDeviceMoniker*)(((char*)iface)-offsetof(CDeviceMoniker,member))
30
31HRESULT QUARTZ_CreateDeviceMoniker(
32 HKEY hkRoot, LPCWSTR lpKeyPath,
33 IMoniker** ppMoniker );
34
35
36/*
37 implements IPropertyBag for accessing registry.
38
39 - At least, the following interfaces should be implemented:
40
41 IUnknown
42 + IPropertyBag
43 */
44
45#include "iunk.h"
46
47typedef struct DMON_IPropertyBagImpl
48{
49 ICOM_VFIELD(IPropertyBag);
50} DMON_IPropertyBagImpl;
51
52typedef struct CRegPropertyBag
53{
54 QUARTZ_IUnkImpl unk;
55 DMON_IPropertyBagImpl propbag;
56 /* IPropertyBag fields */
57 HKEY m_hKey;
58} CRegPropertyBag;
59
60#define CRegPropertyBag_THIS(iface,member) CRegPropertyBag* This = (CRegPropertyBag*)(((char*)iface)-offsetof(CRegPropertyBag,member))
61
62HRESULT QUARTZ_CreateRegPropertyBag(
63 HKEY hkRoot, LPCWSTR lpKeyPath,
64 IPropertyBag** ppPropBag );
65
66#endif /* WINE_DSHOW_DEVMON_H */
Note: See TracBrowser for help on using the repository browser.