-
Notifications
You must be signed in to change notification settings - Fork 0
/
Activate.h
43 lines (33 loc) · 1.24 KB
/
Activate.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once
#include "Common.h"
#include "MFAttributesImpl.h"
#include "MediaSink.h"
namespace DX11VideoRenderer
{
class CActivate : public CMFAttributesImpl<IMFActivate>, public IPersistStream, private CBase
{
public:
static HRESULT CreateInstance(HWND hwnd, IMFActivate** ppActivate);
// IUnknown
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP QueryInterface(REFIID riid, __RPC__deref_out _Result_nullonfailure_ void** ppvObject);
STDMETHODIMP_(ULONG) Release(void);
// IMFActivate
STDMETHODIMP ActivateObject(__RPC__in REFIID riid, __RPC__deref_out_opt void** ppvObject);
STDMETHODIMP DetachObject(void);
STDMETHODIMP ShutdownObject(void);
// IPersistStream
STDMETHODIMP GetSizeMax(__RPC__out ULARGE_INTEGER* pcbSize);
STDMETHODIMP IsDirty(void);
STDMETHODIMP Load(__RPC__in_opt IStream* pStream);
STDMETHODIMP Save(__RPC__in_opt IStream* pStream, BOOL bClearDirty);
// IPersist (from IPersistStream)
STDMETHODIMP GetClassID(__RPC__out CLSID* pClassID);
private:
CActivate(void);
~CActivate(void);
long m_lRefCount;
IMFMediaSink* m_pMediaSink;
HWND m_hwnd;
};
}