ReactOS 0.4.16-dev-329-g9223134
devenum_private.h File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
#include "winerror.h"
#include "ole2.h"
#include "strmif.h"
#include "olectl.h"
#include "uuids.h"
Include dependency graph for devenum_private.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MediaCatMoniker
 

Macros

#define COBJMACROS
 

Enumerations

enum  device_type { DEVICE_FILTER , DEVICE_CODEC , DEVICE_DMO }
 

Functions

static void DEVENUM_LockModule (void)
 
static void DEVENUM_UnlockModule (void)
 
MediaCatMonikerDEVENUM_IMediaCatMoniker_Construct (void) DECLSPEC_HIDDEN
 
HRESULT create_EnumMoniker (REFCLSID class, IEnumMoniker **enum_mon) DECLSPEC_HIDDEN
 

Variables

LONG dll_refs DECLSPEC_HIDDEN
 
static const WCHAR backslashW [] = {'\\',0}
 
static const WCHAR clsidW [] = {'C','L','S','I','D',0}
 
static const WCHAR instanceW [] = {'\\','I','n','s','t','a','n','c','e',0}
 
static const WCHAR wszActiveMovieKey []
 
static const WCHAR deviceW [] = {'@','d','e','v','i','c','e',':',0}
 
static const WCHAR dmoW [] = {'d','m','o',':',0}
 
static const WCHAR swW [] = {'s','w',':',0}
 
static const WCHAR cmW [] = {'c','m',':',0}
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 38 of file devenum_private.h.

Enumeration Type Documentation

◆ device_type

Enumerator
DEVICE_FILTER 
DEVICE_CODEC 
DEVICE_DMO 

Definition at line 52 of file devenum_private.h.

53{
57};
@ DEVICE_FILTER
@ DEVICE_DMO
@ DEVICE_CODEC

Function Documentation

◆ create_EnumMoniker()

HRESULT create_EnumMoniker ( REFCLSID  class,
IEnumMoniker **  enum_mon 
)

Definition at line 1014 of file mediacatenum.c.

1015{
1016 EnumMonikerImpl * pEnumMoniker = CoTaskMemAlloc(sizeof(EnumMonikerImpl));
1017 WCHAR buffer[78];
1018 HRESULT hr;
1019
1020 if (!pEnumMoniker)
1021 return E_OUTOFMEMORY;
1022
1023 pEnumMoniker->IEnumMoniker_iface.lpVtbl = &IEnumMoniker_Vtbl;
1024 pEnumMoniker->ref = 1;
1025 pEnumMoniker->sw_index = 0;
1026 pEnumMoniker->cm_index = 0;
1027 pEnumMoniker->class = *class;
1028
1034 pEnumMoniker->sw_key = NULL;
1035
1039 pEnumMoniker->cm_key = NULL;
1040
1041 hr = DMOEnum(class, 0, 0, NULL, 0, NULL, &pEnumMoniker->dmo_enum);
1042 if (FAILED(hr))
1043 {
1044 IEnumMoniker_Release(&pEnumMoniker->IEnumMoniker_iface);
1045 return hr;
1046 }
1047
1048 *ppEnumMoniker = &pEnumMoniker->IEnumMoniker_iface;
1049
1051
1052 return S_OK;
1053}
#define CHARS_IN_GUID
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const WCHAR instanceW[]
static const WCHAR wszActiveMovieKey[]
static const WCHAR backslashW[]
static void DEVENUM_LockModule(void)
static const WCHAR clsidW[]
#define NULL
Definition: types.h:112
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3333
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
HRESULT WINAPI DMOEnum(REFGUID category, DWORD flags, DWORD cInTypes, const DMO_PARTIAL_MEDIATYPE *pInTypes, DWORD cOutTypes, const DMO_PARTIAL_MEDIATYPE *pOutTypes, IEnumDMO **ppEnum)
Definition: dmoreg.c:732
GLuint buffer
Definition: glext.h:5915
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
static const IEnumMonikerVtbl IEnumMoniker_Vtbl
#define KEY_ENUMERATE_SUB_KEYS
Definition: nt_native.h:1019
HRESULT hr
Definition: shlfolder.c:183
IEnumDMO * dmo_enum
Definition: mediacatenum.c:39
IEnumMoniker IEnumMoniker_iface
Definition: mediacatenum.c:36
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by DEVENUM_ICreateDevEnum_CreateClassEnumerator().

◆ DEVENUM_IMediaCatMoniker_Construct()

MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct ( void  )

Definition at line 786 of file mediacatenum.c.

787{
788 MediaCatMoniker * pMoniker = NULL;
789 pMoniker = CoTaskMemAlloc(sizeof(MediaCatMoniker));
790 if (!pMoniker)
791 return NULL;
792
793 pMoniker->IMoniker_iface.lpVtbl = &IMoniker_Vtbl;
794 pMoniker->ref = 0;
795 pMoniker->has_class = FALSE;
796 pMoniker->name = NULL;
797
799
801
802 return pMoniker;
803}
#define FALSE
Definition: types.h:117
static const IMonikerVtbl IMoniker_Vtbl
Definition: mediacatenum.c:759
static ULONG WINAPI DEVENUM_IMediaCatMoniker_AddRef(IMoniker *iface)
Definition: mediacatenum.c:404
IMoniker IMoniker_iface

Referenced by DEVENUM_IEnumMoniker_Next(), and DEVENUM_IParseDisplayName_ParseDisplayName().

◆ DEVENUM_LockModule()

static void DEVENUM_LockModule ( void  )
inlinestatic

◆ DEVENUM_UnlockModule()

Variable Documentation

◆ backslashW

◆ clsidW

◆ cmW

const WCHAR cmW[] = {'c','m',':',0}
static

◆ DECLSPEC_HIDDEN

Definition at line 76 of file devenum_private.h.

◆ deviceW

◆ dmoW

◆ instanceW

const WCHAR instanceW[] = {'\\','I','n','s','t','a','n','c','e',0}
static

◆ swW

const WCHAR swW[] = {'s','w',':',0}
static

◆ wszActiveMovieKey

const WCHAR wszActiveMovieKey[]
static
Initial value:
= {'S','o','f','t','w','a','r','e','\\',
'M','i','c','r','o','s','o','f','t','\\',
'A','c','t','i','v','e','M','o','v','i','e','\\',
'd','e','v','e','n','u','m','\\',0}

Definition at line 86 of file devenum_private.h.

Referenced by create_EnumMoniker(), create_PropertyBag(), DEVENUM_CreateAMCategoryKey(), and DEVENUM_ICreateDevEnum_CreateClassEnumerator().