Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cDirectDeviceEnum.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cDirectDeviceEnum_H
7 #define _INC_cDirectDeviceEnum_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "../GrayLibBase.h"
13 #include "../AV/cDirectMediaType.h" // ICreateDevEnum
14 
15 #if defined(USE_DX_SHOW)
20 
21 MIDL_INTERFACE("0000000f-0000-0000-C000-000000000046") IMoniker;
22 MIDL_INTERFACE("00000102-0000-0000-C000-000000000046") IEnumMoniker;
23 MIDL_INTERFACE("29840822-5B84-11D0-BD3B-00A0C911CE86") ICreateDevEnum;
24 
25 namespace GrayLib
26 {
27  class GRAYLIB_LINK cDirectDeviceEnum
28  {
32 
33  public:
34  static const GUID k_CLSID_SystemDeviceEnum;
35  cIUnkPtr<ICreateDevEnum> m_pCreateDevEnum; // volatile, will be destroyed at the end
36  cIUnkPtr<IEnumMoniker> m_pEm;
37 
38  public:
39  cDirectDeviceEnum(void);
40  ~cDirectDeviceEnum(void);
41 
42  static HRESULT GRAYCALL GetMonikerByName(cIUnkPtr<IMoniker>& pM, cStringW sDisplayName);
43  static HRESULT GRAYCALL GetMonikerName(IMoniker* pMk, cStringW& str, bool bDisplayName = false);
44 
45  HRESULT EnumStart(const CLSID& category);
46  HRESULT EnumNext(cIUnkPtr<IMoniker>& pM);
47 
48  HRESULT FindFriendlyName(const CLSID& category, cStringW sNameFind, cIUnkPtr<IMoniker>& rpMk);
49 
50  UNITTEST_FRIEND(cDirectDeviceEnum);
51  };
52 }
53 
54 #endif
55 #endif
MIDL_INTERFACE("7ED943DD-52E8-40b5-A8D8-76685C406330") ID3DXBaseMesh
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define UNITTEST_FRIEND(n)
Define this in the class body to be unit tested. Allow the unit test to access private/protected stuf...
Definition: cUnitTestDecl.h:17
Definition: cMesh.h:22
cStringT< wchar_t > cStringW
Definition: cString.h:634
Definition: IUnknown.h:34