ReactOS  0.4.14-dev-554-g2f8d847
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.

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 }
HRESULT hr
Definition: shlfolder.c:183
static const WCHAR instanceW[]
#define HKEY_CURRENT_USER
Definition: winreg.h:11
#define CHARS_IN_GUID
GLuint buffer
Definition: glext.h:5915
#define lstrlenW
Definition: compat.h:415
IEnumMoniker IEnumMoniker_iface
Definition: mediacatenum.c:36
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
static void DEVENUM_LockModule(void)
static const WCHAR backslashW[]
static const WCHAR clsidW[]
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
Definition: compobj.c:2434
static const WCHAR wszActiveMovieKey[]
IEnumDMO * dmo_enum
Definition: mediacatenum.c:39
#define S_OK
Definition: intsafe.h:59
#define lstrcpyW
Definition: compat.h:414
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
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3366
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:404
static const IEnumMonikerVtbl IEnumMoniker_Vtbl
#define KEY_ENUMERATE_SUB_KEYS
Definition: nt_native.h:1019

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 }
smooth NULL
Definition: ftsmooth.c:416
static void DEVENUM_LockModule(void)
static ULONG WINAPI DEVENUM_IMediaCatMoniker_AddRef(IMoniker *iface)
Definition: mediacatenum.c:404
IMoniker IMoniker_iface
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:404
static const IMonikerVtbl IMoniker_Vtbl
Definition: mediacatenum.c:759

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().