Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::Direct3DDeviceManager9 Class Reference

#include <HWDXVA2Api.h>

Inheritance diagram for Harlinn::Windows::Direct3DDeviceManager9:
[legend]
Collaboration diagram for Harlinn::Windows::Direct3DDeviceManager9:
[legend]

Public Member Functions

void ResetDevice (IDirect3DDevice9 *device, UINT resetToken) const
 
void OpenDeviceHandle (HANDLE *deviceHandle) const
 
void CloseDeviceHandle (HANDLE deviceHandle) const
 
void TestDevice (HANDLE deviceHandle) const
 
void LockDevice (HANDLE deviceHandle, IDirect3DDevice9 **device, BOOL block) const
 
void UnlockDevice (HANDLE deviceHandle, BOOL saveState) const
 
void GetVideoService (HANDLE deviceHandle, const Guid &riid, void **service) const
 
- Public Member Functions inherited from Harlinn::Common::Core::Unknown
constexpr Unknown () noexcept
 The default constructor ensures that the internal pointer to IUnknown is set to nullptr.
 
 Unknown (IUnknown *unknown, bool addref=false) noexcept
 Constructs a new Unknown, taking ownership of the interface pointer held by unknown.
 
 Unknown (REFIID iid, const Unknown &unknown, bool throwIfNoInterface=true)
 Initializes the new object to the interface identified by the iid parameter by querying the interface held by unknown for the requested interface.
 
 Unknown (const Unknown &other) noexcept
 Copy constructor, calls AddRef on the interface pointer held by other.
 
 Unknown (Unknown &&other) noexcept
 Move constructor takes ownership of the interface pointer held by other.
 
 ~Unknown () noexcept
 Destructor, calling Release on the wrapped interface.
 
constexpr operator bool () const noexcept
 Returns true if this object references an interface.
 
Unknownoperator= (const Unknown &other) noexcept
 Copy assignment, which does nothing if other holds the same interface pointer as this object; and if not, calls Release on the currently held interface pointer, then copying the interface pointer from other, calling AddRef on the newly assigned interface pointer.
 
Unknownoperator= (Unknown &&other) noexcept
 Move assignment exchanges the current interface pointer, with the interface pointer held by other.
 
void swap (Unknown &other) noexcept
 Exchanges the current interface pointer, with the interface pointer held by other.
 
void ResetPtr (IUnknown *other=nullptr, bool addRef=false) noexcept
 Calls Release on the currently held interface pointer if the interface pointer held by other points to a different interface.
 
Unknownoperator= (nullptr_t)
 Assigning nullptr to the object, releases the currently held interface pointer, and sets the interface pointer to nullptr.
 
IUnknown * Detach ()
 Returns the currently held interface pointer, setting the interface pointer of the object to nullptr.
 
template<typename T >
requires std::is_base_of_v<Unknown, T >
T As () const
 Creates an instance of the interface wrapper class T, by querying the interface pointer for the interface type wrapped by T.
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
bool Is () const noexcept
 Returns true if the interface can successfully be queried for the interface wrapped by T.
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
ComPtr< TAs () const
 Creates an instance of the interface smart pointer ComPtr<T> for the interface T, by querying the interface pointer for the interface type T.
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
bool Is () const noexcept
 This function can be used to detect if an object supports a particular COM interface derived from IUnknown.
 
template<typename T = IUnknown>
TGetInterfacePointer () const noexcept
 Retrieves a pointer to the interface wrapped by this object.
 
bool QueryInterface (REFIID riid, void **itf) const
 Queries a COM object for a pointer to one of its interface; identifying the interface by a reference to its interface identifier (IID).
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
bool QueryInterface (T **itf) const
 Queries the interface for an interface pointer of type T.
 
constexpr bool operator== (const Unknown &other) const noexcept
 Returns true if the interface pointer held by this object is the same as the interface pointer held by the other object.
 
constexpr bool operator!= (const Unknown &other) const noexcept
 Returns true if the interface pointer held by this object is not the same as the interface pointer held by the other object.
 
constexpr bool operator== (const IUnknown *other) const noexcept
 Returns true if the interface pointer held by this object is the same as the interface pointer held by other.
 
constexpr bool operator!= (const IUnknown *other) const noexcept
 Returns true if the interface pointer held by this object is not the same as the interface pointer held by other.
 

Static Public Member Functions

static Direct3DDeviceManager9 Create (UINT *resetToken)
 
static std::pair< UINT, Direct3DDeviceManager9Create ()
 
- Static Public Member Functions inherited from Harlinn::Common::Core::Unknown
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const CLSID &clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 Creates and default-initializes a single object of the class associated with a specified CLSID.
 
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const wchar_t *clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const WideString &clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromProgId (const wchar_t *progId, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromProgId (const WideString &progId, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T = Unknown>
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromDll (const ModuleHandle &dll, const CLSID &clsid)
 

Additional Inherited Members

- Public Types inherited from Harlinn::Common::Core::Unknown
using InterfaceType = IUnknown
 Every derived class defines InterfaceType as the type of the interface wrapped by the derived class.
 
- Protected Attributes inherited from Harlinn::Common::Core::Unknown
IUnknown * unknown_
 

Member Function Documentation

◆ CloseDeviceHandle()

void Harlinn::Windows::Direct3DDeviceManager9::CloseDeviceHandle ( HANDLE deviceHandle) const
inline

◆ Create() [1/2]

static std::pair< UINT, Direct3DDeviceManager9 > Harlinn::Windows::Direct3DDeviceManager9::Create ( )
inlinestatic

◆ Create() [2/2]

static Direct3DDeviceManager9 Harlinn::Windows::Direct3DDeviceManager9::Create ( UINT * resetToken)
inlinestatic

◆ GetVideoService()

void Harlinn::Windows::Direct3DDeviceManager9::GetVideoService ( HANDLE deviceHandle,
const Guid & riid,
void ** service ) const
inline

◆ LockDevice()

void Harlinn::Windows::Direct3DDeviceManager9::LockDevice ( HANDLE deviceHandle,
IDirect3DDevice9 ** device,
BOOL block ) const
inline

◆ OpenDeviceHandle()

void Harlinn::Windows::Direct3DDeviceManager9::OpenDeviceHandle ( HANDLE * deviceHandle) const
inline

◆ ResetDevice()

void Harlinn::Windows::Direct3DDeviceManager9::ResetDevice ( IDirect3DDevice9 * device,
UINT resetToken ) const
inline

◆ TestDevice()

void Harlinn::Windows::Direct3DDeviceManager9::TestDevice ( HANDLE deviceHandle) const
inline

◆ UnlockDevice()

void Harlinn::Windows::Direct3DDeviceManager9::UnlockDevice ( HANDLE deviceHandle,
BOOL saveState ) const
inline

The documentation for this class was generated from the following file: