|
void | GetVideoDecoderService (IDirectXVideoDecoderService **service) const |
|
void | GetCreationParameters (Guid *deviceGuid, DXVA2_VideoDesc *videoDesc, DXVA2_ConfigPictureDecode *config, IDirect3DSurface9 ***decoderRenderTargets, UINT *numSurfaces) const |
|
void | GetBuffer (UINT bufferType, void **buffer, UINT *bufferSize) const |
|
void | ReleaseBuffer (UINT bufferType) const |
|
void | BeginFrame (IDirect3DSurface9 *renderTarget, void *pvpData) const |
|
void | EndFrame (HANDLE *handleComplete) const |
|
void | Execute (const DXVA2_DecodeExecuteParams *executeParams) const |
|
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.
|
|
Unknown & | operator= (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.
|
|
Unknown & | operator= (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.
|
|
Unknown & | operator= (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< T > | As () 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> |
T * | GetInterfacePointer () 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 .
|
|
|
using | InterfaceType = IUnknown |
| Every derived class defines InterfaceType as the type of the interface wrapped by the derived class.
|
|
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) |
|
IUnknown * | unknown_ |
|