Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::DirectShow::Pin Class Reference

#include <HWStrmif.h>

Inheritance diagram for Harlinn::Windows::DirectShow::Pin:
[legend]
Collaboration diagram for Harlinn::Windows::DirectShow::Pin:
[legend]

Public Member Functions

void Connect (IPin *receivePin, _In_opt_ const AM_MEDIA_TYPE *mediaType) const
 
void ReceiveConnection (IPin *connector, const AM_MEDIA_TYPE *mediaType) const
 
void Disconnect () const
 
void ConnectedTo (_Out_ IPin **pin) const
 
void ConnectionMediaType (_Out_ AM_MEDIA_TYPE *mediaType) const
 
void QueryPinInfo (_Out_ PIN_INFO *pinInfo) const
 
void QueryDirection (_Out_ PIN_DIRECTION *pinDirection) const
 
void QueryId (_Out_ LPWSTR *Id) const
 
void QueryAccept (const AM_MEDIA_TYPE *pmt) const
 
void EnumMediaTypes (_Out_ IEnumMediaTypes **ppEnum) const
 
void QueryInternalConnections (IPin **pins, ULONG *numberOfPins) const
 
void EndOfStream () const
 
void BeginFlush () const
 
void EndFlush () const
 
void NewSegment (REFERENCE_TIME startTime, REFERENCE_TIME stopTime, double rate) 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.
 

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.
 
- 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)
 
- Protected Attributes inherited from Harlinn::Common::Core::Unknown
IUnknown * unknown_
 

Member Function Documentation

◆ BeginFlush()

void Harlinn::Windows::DirectShow::Pin::BeginFlush ( ) const
inline

◆ Connect()

void Harlinn::Windows::DirectShow::Pin::Connect ( IPin * receivePin,
_In_opt_ const AM_MEDIA_TYPE * mediaType ) const
inline

◆ ConnectedTo()

void Harlinn::Windows::DirectShow::Pin::ConnectedTo ( _Out_ IPin ** pin) const
inline

◆ ConnectionMediaType()

void Harlinn::Windows::DirectShow::Pin::ConnectionMediaType ( _Out_ AM_MEDIA_TYPE * mediaType) const
inline

◆ Disconnect()

void Harlinn::Windows::DirectShow::Pin::Disconnect ( ) const
inline

◆ EndFlush()

void Harlinn::Windows::DirectShow::Pin::EndFlush ( ) const
inline

◆ EndOfStream()

void Harlinn::Windows::DirectShow::Pin::EndOfStream ( ) const
inline

◆ EnumMediaTypes()

void Harlinn::Windows::DirectShow::Pin::EnumMediaTypes ( _Out_ IEnumMediaTypes ** ppEnum) const
inline

◆ NewSegment()

void Harlinn::Windows::DirectShow::Pin::NewSegment ( REFERENCE_TIME startTime,
REFERENCE_TIME stopTime,
double rate ) const
inline

◆ QueryAccept()

void Harlinn::Windows::DirectShow::Pin::QueryAccept ( const AM_MEDIA_TYPE * pmt) const
inline

◆ QueryDirection()

void Harlinn::Windows::DirectShow::Pin::QueryDirection ( _Out_ PIN_DIRECTION * pinDirection) const
inline

◆ QueryId()

void Harlinn::Windows::DirectShow::Pin::QueryId ( _Out_ LPWSTR * Id) const
inline

◆ QueryInternalConnections()

void Harlinn::Windows::DirectShow::Pin::QueryInternalConnections ( IPin ** pins,
ULONG * numberOfPins ) const
inline

◆ QueryPinInfo()

void Harlinn::Windows::DirectShow::Pin::QueryPinInfo ( _Out_ PIN_INFO * pinInfo) const
inline

◆ ReceiveConnection()

void Harlinn::Windows::DirectShow::Pin::ReceiveConnection ( IPin * connector,
const AM_MEDIA_TYPE * mediaType ) const
inline

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