11#define DEVICE_FILTER_MASK (0x80000000)
211 m_FilterState(State_Stopped),
271 DWORD dwMilliSecsTimeout,
411 ULONG ulSignalSource)
420 ULONG *pulSignalSource)
429 GUID *pguidNetworkType)
447 GUID *pguidTuingSpace)
457 ULONG *ppvRegistrationContext)
465 if (!pUnkFilterControl || !ppvRegistrationContext)
475 OutputDebugStringW(
L"CNetworkProvider::RegisterDeviceFilter Filter does not support IBDA_DeviceControl\n");
483 OutputDebugStringW(
L"CNetworkProvider::RegisterDeviceFilter Filter does not support IID_IBDA_Topology\n");
491 pUnkFilterControl->
AddRef();
526 Index = pvRegistrationContext & ~DEVICE_FILTER_MASK;
#define InterlockedIncrement
#define InterlockedDecrement
#define STDMETHODCALLTYPE
HRESULT STDMETHODCALLTYPE Stop(void)
HRESULT STDMETHODCALLTYPE UnRegisterDeviceFilter(ULONG pvRegistrationContext)
HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID)
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
HRESULT STDMETHODCALLTYPE EnumPins(IEnumPins **ppEnum)
std::vector< IUnknown * > DeviceFilterStack
HRESULT STDMETHODCALLTYPE Pause(void)
virtual ~CNetworkProvider()
IBDA_EthernetFilter * m_EthernetFilter
HRESULT STDMETHODCALLTYPE GetTuningSpace(GUID *pguidTuingSpace)
HRESULT STDMETHODCALLTYPE RegisterDeviceFilter(IUnknown *pUnkFilterControl, ULONG *ppvRegistrationContext)
HRESULT STDMETHODCALLTYPE PutSignalSource(ULONG ulSignalSource)
HRESULT STDMETHODCALLTYPE GetSignalSource(ULONG *pulSignalSource)
HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart)
DeviceFilterStack m_DeviceFilters
HRESULT STDMETHODCALLTYPE GetNetworkType(GUID *pguidNetworkType)
IReferenceClock * m_ReferenceClock
HRESULT STDMETHODCALLTYPE FindPin(LPCWSTR Id, IPin **ppPin)
IBDA_IPV4Filter * m_IPV4Filter
HRESULT STDMETHODCALLTYPE Register(void)
HRESULT STDMETHODCALLTYPE QueryFilterInfo(FILTER_INFO *pInfo)
STDMETHODIMP_(ULONG) Release()
HRESULT STDMETHODCALLTYPE GetSyncSource(IReferenceClock **pClock)
FILTER_STATE m_FilterState
HRESULT STDMETHODCALLTYPE Unregister(void)
HRESULT STDMETHODCALLTYPE QueryVendorInfo(LPWSTR *pVendorInfo)
STDMETHODIMP_(ULONG) AddRef()
IBDA_IPV6Filter * m_IPV6Filter
HRESULT STDMETHODCALLTYPE GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *State)
HRESULT STDMETHODCALLTYPE JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName)
HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock)
CNetworkProvider(LPCGUID ClassID)
HRESULT STDMETHODCALLTYPE PutTuningSpace(REFGUID guidTuningSpace)
const GUID IID_IBaseFilter
const GUID CLSID_DVBTNetworkProvider
const GUID IID_IBDA_DeviceControl
const GUID IID_IBDA_NetworkProvider
const GUID IID_IBDA_Topology
HRESULT WINAPI CScanningTunner_fnConstructor(std::vector< IUnknown * > &m_DeviceFilter, REFIID riid, LPVOID *ppv)
UINT(* handler)(MSIPACKAGE *)
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
return pTarget GetState()
VOID WINAPI CoTaskMemFree(LPVOID ptr)
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
struct IBaseFilter::_FilterInfo FILTER_INFO
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
HRESULT WINAPI CIPV4Filter_fnConstructor(IBDA_NetworkProvider *pNetworkProvider, REFIID riid, LPVOID *ppv)
HRESULT WINAPI CIPV6Filter_fnConstructor(IBDA_NetworkProvider *pNetworkProvider, REFIID riid, LPVOID *ppv)
HRESULT WINAPI CEnumPins_fnConstructor(std::vector< IPin * > Pins, REFIID riid, LPVOID *ppv)
#define DEVICE_FILTER_MASK
HRESULT WINAPI CNetworkProvider_fnConstructor(IUnknown *pUnknown, REFIID riid, LPVOID *ppv)
HRESULT WINAPI CPin_fnConstructor(IUnknown *pUnknown, IBaseFilter *ParentFilter, REFIID riid, LPVOID *ppv)
#define IsEqualGUID(rguid1, rguid2)
WCHAR achName[MAX_FILTER_NAME]
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface