JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce_ComSmartPtr_windows.h File Reference

Classes

class  juce::ComBaseClassHelper< ComClasses >
 Handy base class for writing COM objects, providing ref-counting and a basic QueryInterface method. More...
 
class  juce::ComBaseClassHelperBase< First, ComClasses >
 
class  juce::ComSmartPtr< ComClass >
 A simple COM smart pointer. More...
 
struct  juce::UUIDGetter< Type >
 
struct  juce::UUIDGetter<::IUnknown >
 

Namespaces

namespace  juce
 

Macros

#define __uuidof(x)   UUIDGetter<x>::get()
 
#define JUCE_COMCALL   virtual HRESULT STDMETHODCALLTYPE
 
#define JUCE_COMCLASS(name, guid)
 
#define JUCE_COMRESULT   HRESULT STDMETHODCALLTYPE
 
#define JUCE_DECLARE_UUID_GETTER(name, uuid)    template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };
 
#define JUCE_IUNKNOWNCLASS(name, guid)   JUCE_COMCLASS(name, guid) : public IUnknown
 

Functions

template<class ObjectType >
auto juce::addComSmartPtrOwner (ObjectType *t)
 Increments refcount.
 
template<class ObjectType >
auto juce::becomeComSmartPtrOwner (ObjectType *t)
 Does not initially increment refcount; assumes t has a positive refcount.
 
GUID juce::uuidFromString (const char *s) noexcept
 

Macro Definition Documentation

◆ __uuidof

#define __uuidof (   x)    UUIDGetter<x>::get()

◆ JUCE_COMCALL

#define JUCE_COMCALL   virtual HRESULT STDMETHODCALLTYPE

◆ JUCE_COMCLASS

#define JUCE_COMCLASS (   name,
  guid 
)
Value:
struct name; \
JUCE_DECLARE_UUID_GETTER (name, guid) \
struct name

◆ JUCE_COMRESULT

#define JUCE_COMRESULT   HRESULT STDMETHODCALLTYPE

◆ JUCE_DECLARE_UUID_GETTER

#define JUCE_DECLARE_UUID_GETTER (   name,
  uuid 
)     template <> struct UUIDGetter<name> { static CLSID get() { return uuidFromString (uuid); } };

◆ JUCE_IUNKNOWNCLASS

#define JUCE_IUNKNOWNCLASS (   name,
  guid 
)    JUCE_COMCLASS(name, guid) : public IUnknown