ReactOS  0.4.14-dev-599-g2d4d3f5
CNetworkProvider Class Reference
Inheritance diagram for CNetworkProvider:
Collaboration diagram for CNetworkProvider:

Public Types

typedef std::vector< IUnknown * > DeviceFilterStack
 
- Public Types inherited from IBaseFilter
typedef struct IBaseFilter::_FilterInfo FILTER_INFO
 
- Public Types inherited from IMediaFilter
enum  _FilterState { State_Stopped, State_Paused, State_Running }
 
typedef enum IMediaFilter::_FilterState FILTER_STATE
 
- Public Types inherited from IPersist
typedef IPersistLPPERSIST
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 

Public Member Functions

STDMETHODIMP QueryInterface (REFIID InterfaceId, PVOID *Interface)
 
 STDMETHODIMP_ (ULONG) AddRef()
 
 STDMETHODIMP_ (ULONG) Release()
 
HRESULT STDMETHODCALLTYPE GetClassID (CLSID *pClassID)
 
HRESULT STDMETHODCALLTYPE Stop (void)
 
HRESULT STDMETHODCALLTYPE Pause (void)
 
HRESULT STDMETHODCALLTYPE Run (REFERENCE_TIME tStart)
 
HRESULT STDMETHODCALLTYPE GetState (DWORD dwMilliSecsTimeout, FILTER_STATE *State)
 
HRESULT STDMETHODCALLTYPE SetSyncSource (IReferenceClock *pClock)
 
HRESULT STDMETHODCALLTYPE GetSyncSource (IReferenceClock **pClock)
 
HRESULT STDMETHODCALLTYPE EnumPins (IEnumPins **ppEnum)
 
HRESULT STDMETHODCALLTYPE FindPin (LPCWSTR Id, IPin **ppPin)
 
HRESULT STDMETHODCALLTYPE QueryFilterInfo (FILTER_INFO *pInfo)
 
HRESULT STDMETHODCALLTYPE JoinFilterGraph (IFilterGraph *pGraph, LPCWSTR pName)
 
HRESULT STDMETHODCALLTYPE QueryVendorInfo (LPWSTR *pVendorInfo)
 
HRESULT STDMETHODCALLTYPE Register (void)
 
HRESULT STDMETHODCALLTYPE Unregister (void)
 
HRESULT STDMETHODCALLTYPE PutSignalSource (ULONG ulSignalSource)
 
HRESULT STDMETHODCALLTYPE GetSignalSource (ULONG *pulSignalSource)
 
HRESULT STDMETHODCALLTYPE GetNetworkType (GUID *pguidNetworkType)
 
HRESULT STDMETHODCALLTYPE PutTuningSpace (REFGUID guidTuningSpace)
 
HRESULT STDMETHODCALLTYPE GetTuningSpace (GUID *pguidTuingSpace)
 
HRESULT STDMETHODCALLTYPE RegisterDeviceFilter (IUnknown *pUnkFilterControl, ULONG *ppvRegistrationContext)
 
HRESULT STDMETHODCALLTYPE UnRegisterDeviceFilter (ULONG pvRegistrationContext)
 
 CNetworkProvider (LPCGUID ClassID)
 
virtual ~CNetworkProvider ()
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Protected Attributes

LONG m_Ref
 
IFilterGraphm_pGraph
 
IReferenceClockm_ReferenceClock
 
FILTER_STATE m_FilterState
 
IPinm_Pins [1]
 
GUID m_ClassID
 
DeviceFilterStack m_DeviceFilters
 
IScanningTunerm_Tuner
 
IBDA_IPV6Filterm_IPV6Filter
 
IBDA_IPV4Filterm_IPV4Filter
 
IBDA_EthernetFilterm_EthernetFilter
 

Detailed Description

Definition at line 13 of file networkprovider.cpp.

Member Typedef Documentation

◆ DeviceFilterStack

Definition at line 18 of file networkprovider.cpp.

Constructor & Destructor Documentation

◆ CNetworkProvider()

CNetworkProvider::CNetworkProvider ( LPCGUID  ClassID)

Definition at line 208 of file networkprovider.cpp.

208  : m_Ref(0),
209  m_pGraph(0),
210  m_ReferenceClock(0),
212  m_DeviceFilters(),
213  m_Tuner(0),
214  m_IPV6Filter(0),
215  m_IPV4Filter(0),
217 {
218  m_Pins[0] = 0;
219 
220  CopyMemory(&m_ClassID, ClassID, sizeof(GUID));
221 };
IBDA_IPV4Filter * m_IPV4Filter
DeviceFilterStack m_DeviceFilters
IFilterGraph * m_pGraph
IReferenceClock * m_ReferenceClock
IBDA_IPV6Filter * m_IPV6Filter
FILTER_STATE m_FilterState
#define CopyMemory
Definition: winbase.h:1640
IScanningTuner * m_Tuner
IBDA_EthernetFilter * m_EthernetFilter

◆ ~CNetworkProvider()

virtual CNetworkProvider::~CNetworkProvider ( )
inlinevirtual

Definition at line 66 of file networkprovider.cpp.

66 {};

Member Function Documentation

◆ EnumPins()

HRESULT STDMETHODCALLTYPE CNetworkProvider::EnumPins ( IEnumPins **  ppEnum)

Implements IBaseFilter.

Definition at line 314 of file networkprovider.cpp.

316 {
317  if (m_Pins[0] == 0)
318  {
320  if (FAILED(hr))
321  return hr;
322  }
323 
324  return CEnumPins_fnConstructor(NULL, 1, m_Pins, IID_IEnumPins, (void**)ppEnum);
325 }
HRESULT hr
Definition: shlfolder.c:183
HRESULT WINAPI CPin_fnConstructor(IUnknown *pUnknown, IBaseFilter *ParentFilter, REFIID riid, LPVOID *ppv)
Definition: pin.cpp:318
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
const GUID IID_IUnknown
HRESULT WINAPI CEnumPins_fnConstructor(std::vector< IPin * > Pins, REFIID riid, LPVOID *ppv)
Definition: enumpins.cpp:151

◆ FindPin()

HRESULT STDMETHODCALLTYPE CNetworkProvider::FindPin ( LPCWSTR  Id,
IPin **  ppPin 
)

Implements IBaseFilter.

Definition at line 329 of file networkprovider.cpp.

331 {
332  OutputDebugStringW(L"CNetworkProvider::FindPin : NotImplemented\n");
333  return E_NOTIMPL;
334 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetClassID()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetClassID ( CLSID pClassID)

Implements IPersist.

Definition at line 229 of file networkprovider.cpp.

231 {
232  OutputDebugStringW(L"CNetworkProvider::GetClassID\n");
233  CopyMemory(&pClassID, &m_ClassID, sizeof(GUID));
234 
235  return S_OK;
236 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
#define CopyMemory
Definition: winbase.h:1640
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59

◆ GetNetworkType()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetNetworkType ( GUID pguidNetworkType)

Implements IBDA_NetworkProvider.

Definition at line 428 of file networkprovider.cpp.

430 {
431  OutputDebugStringW(L"CNetworkProvider::GetNetworkType : NotImplemented\n");
432  return E_NOTIMPL;
433 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetSignalSource()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetSignalSource ( ULONG pulSignalSource)

Implements IBDA_NetworkProvider.

Definition at line 419 of file networkprovider.cpp.

421 {
422  OutputDebugStringW(L"CNetworkProvider::GetSignalSource : NotImplemented\n");
423  return E_NOTIMPL;
424 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ GetState()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetState ( DWORD  dwMilliSecsTimeout,
FILTER_STATE State 
)

Implements IMediaFilter.

Definition at line 270 of file networkprovider.cpp.

273 {
274  *State = m_FilterState;
275  return S_OK;
276 }
FILTER_STATE m_FilterState
#define S_OK
Definition: intsafe.h:59

◆ GetSyncSource()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetSyncSource ( IReferenceClock **  pClock)

Implements IMediaFilter.

Definition at line 299 of file networkprovider.cpp.

301 {
302  if (!pClock)
303  return E_POINTER;
304 
305  if (m_ReferenceClock)
307 
308  *pClock = m_ReferenceClock;
309  return S_OK;
310 }
IReferenceClock * m_ReferenceClock
ULONG AddRef()
#define S_OK
Definition: intsafe.h:59
#define E_POINTER
Definition: winerror.h:2365

◆ GetTuningSpace()

HRESULT STDMETHODCALLTYPE CNetworkProvider::GetTuningSpace ( GUID pguidTuingSpace)

Implements IBDA_NetworkProvider.

Definition at line 446 of file networkprovider.cpp.

448 {
449  OutputDebugStringW(L"CNetworkProvider::GetTuningSpace : NotImplemented\n");
450  return E_NOTIMPL;
451 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ JoinFilterGraph()

HRESULT STDMETHODCALLTYPE CNetworkProvider::JoinFilterGraph ( IFilterGraph pGraph,
LPCWSTR  pName 
)

Implements IBaseFilter.

Definition at line 356 of file networkprovider.cpp.

359 {
360  if (pGraph)
361  {
362  // joining filter graph
363  m_pGraph = pGraph;
364  }
365  else
366  {
367  // leaving graph
368  m_pGraph = 0;
369  }
370 
371  OutputDebugStringW(L"CNetworkProvider::JoinFilterGraph\n");
372  return S_OK;
373 }
IFilterGraph * m_pGraph
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59

◆ Pause()

HRESULT STDMETHODCALLTYPE CNetworkProvider::Pause ( void  )

Implements IMediaFilter.

Definition at line 249 of file networkprovider.cpp.

250 {
251  OutputDebugStringW(L"CNetworkProvider::Pause\n");
252 
254  return S_OK;
255 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
FILTER_STATE m_FilterState
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59

◆ PutSignalSource()

HRESULT STDMETHODCALLTYPE CNetworkProvider::PutSignalSource ( ULONG  ulSignalSource)

Implements IBDA_NetworkProvider.

Definition at line 410 of file networkprovider.cpp.

412 {
413  OutputDebugStringW(L"CNetworkProvider::PutSignalSource : NotImplemented\n");
414  return E_NOTIMPL;
415 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ PutTuningSpace()

HRESULT STDMETHODCALLTYPE CNetworkProvider::PutTuningSpace ( REFGUID  guidTuningSpace)

Implements IBDA_NetworkProvider.

Definition at line 437 of file networkprovider.cpp.

439 {
440  OutputDebugStringW(L"CNetworkProvider::PutTuningSpace : NotImplemented\n");
441  return E_NOTIMPL;
442 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ QueryFilterInfo()

HRESULT STDMETHODCALLTYPE CNetworkProvider::QueryFilterInfo ( FILTER_INFO pInfo)

Implements IBaseFilter.

Definition at line 339 of file networkprovider.cpp.

341 {
342  if (!pInfo)
343  return E_POINTER;
344 
345  pInfo->achName[0] = L'\0';
346  pInfo->pGraph = m_pGraph;
347 
348  if (m_pGraph)
349  m_pGraph->AddRef();
350 
351  return S_OK;
352 }
IFilterGraph * m_pGraph
ULONG AddRef()
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59
#define E_POINTER
Definition: winerror.h:2365

◆ QueryInterface()

HRESULT STDMETHODCALLTYPE CNetworkProvider::QueryInterface ( REFIID  InterfaceId,
PVOID Interface 
)

Definition at line 84 of file networkprovider.cpp.

87 {
88  ULONG Index;
89  HRESULT hr;
90 
91  *Output = NULL;
92 
93  if (IsEqualGUID(refiid, IID_IUnknown))
94  {
95  *Output = PVOID(this);
96  reinterpret_cast<IUnknown*>(*Output)->AddRef();
97  return NOERROR;
98  }
99  if (IsEqualGUID(refiid, IID_IBaseFilter))
100  {
101  *Output = (IBaseFilter*)(this);
102  reinterpret_cast<IBaseFilter*>(*Output)->AddRef();
103  return NOERROR;
104  }
105 
106  if (IsEqualGUID(refiid, IID_ITuner) ||
107  IsEqualGUID(refiid, IID_IScanningTuner))
108  {
109  // construct scanning tuner
110  if (!m_Tuner)
111  {
113  if (FAILED(hr))
114  return hr;
115  }
116  m_Tuner->AddRef();
117  *Output = (IUnknown*)m_Tuner;
118 
119  return NOERROR;
120  }
121 
122  if (IsEqualGUID(refiid, IID_IBDA_IPV6Filter))
123  {
124  // construct scanning tuner
125  if (!m_IPV6Filter)
126  {
128  if (FAILED(hr))
129  return hr;
130  }
131  m_IPV6Filter->AddRef();
133 
134  return NOERROR;
135  }
136 
137  if (IsEqualGUID(refiid, IID_IBDA_IPV4Filter))
138  {
139  // construct scanning tuner
140  if (!m_IPV4Filter)
141  {
143  if (FAILED(hr))
144  return hr;
145  }
146  m_IPV4Filter->AddRef();
148 
149  return NOERROR;
150  }
151 
152  if (IsEqualGUID(refiid, IID_IBDA_EthernetFilter))
153  {
154  // construct scanning tuner
155  if (!m_EthernetFilter)
156  {
158  if (FAILED(hr))
159  return hr;
160  }
163 
164  return NOERROR;
165  }
166 
168  {
169  *Output = (IBDA_NetworkProvider*)(this);
170  reinterpret_cast<IBDA_NetworkProvider*>(*Output)->AddRef();
171  return NOERROR;
172  }
173 
174  for(Index = 0; Index < m_DeviceFilters.size(); Index++)
175  {
176  // get device filter
177  IUnknown *pFilter = m_DeviceFilters[Index];
178 
179  if (!pFilter)
180  continue;
181 
182  // query for requested interface
183  hr = pFilter->QueryInterface(refiid, Output);
184  if (SUCCEEDED(hr))
185  {
186 #ifdef MSDVBNP_TRACE
188  LPOLESTR lpstr;
189  StringFromCLSID(refiid, &lpstr);
190  swprintf(Buffer, L"CNetworkProvider::QueryInterface: DeviceFilter %lu supports %s !!!\n", Index, lpstr);
193 #endif
194  return hr;
195  }
196  }
197 
199  LPOLESTR lpstr;
200  StringFromCLSID(refiid, &lpstr);
201  swprintf(Buffer, L"CNetworkProvider::QueryInterface: NoInterface for %s !!!\n", lpstr);
204 
205  return E_NOINTERFACE;
206 }
const GUID IID_IBaseFilter
IBDA_IPV4Filter * m_IPV4Filter
#define E_NOINTERFACE
Definition: winerror.h:2364
DeviceFilterStack m_DeviceFilters
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:420
HRESULT WINAPI CScanningTunner_fnConstructor(std::vector< IUnknown * > &m_DeviceFilter, REFIID riid, LPVOID *ppv)
HRESULT hr
Definition: shlfolder.c:183
#define NOERROR
Definition: winerror.h:2354
HRESULT WINAPI CIPV4Filter_fnConstructor(IBDA_NetworkProvider *pNetworkProvider, REFIID riid, LPVOID *ppv)
Definition: ipv4.cpp:152
static LPOLESTR
Definition: stg_prop.c:27
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
smooth NULL
Definition: ftsmooth.c:416
IBDA_IPV6Filter * m_IPV6Filter
Definition: bufpool.h:45
void * PVOID
Definition: retypes.h:9
HRESULT WINAPI CIPV6Filter_fnConstructor(IBDA_NetworkProvider *pNetworkProvider, REFIID riid, LPVOID *ppv)
Definition: ipv6.cpp:149
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
const GUID IID_IUnknown
#define MAX_PATH
Definition: compat.h:26
#define swprintf(buf, format,...)
Definition: sprintf.c:56
static const UCHAR Index[8]
Definition: usbohci.c:18
ULONG AddRef()
static const WCHAR L[]
Definition: oid.c:1250
Definition: arc.h:85
IScanningTuner * m_Tuner
IBDA_EthernetFilter * m_EthernetFilter
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
const GUID IID_IBDA_NetworkProvider
unsigned int ULONG
Definition: retypes.h:1
static LPCSTR lpstr
Definition: font.c:51
#define SUCCEEDED(hr)
Definition: intsafe.h:57
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
Definition: compobj.c:2412

◆ QueryVendorInfo()

HRESULT STDMETHODCALLTYPE CNetworkProvider::QueryVendorInfo ( LPWSTR pVendorInfo)

Implements IBaseFilter.

Definition at line 378 of file networkprovider.cpp.

380 {
381  return E_NOTIMPL;
382 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ Register()

HRESULT STDMETHODCALLTYPE CNetworkProvider::Register ( void  )

Implements IAMovieSetup.

Definition at line 390 of file networkprovider.cpp.

391 {
392  OutputDebugStringW(L"CNetworkProvider::Register : NotImplemented\n");
393  return E_NOTIMPL;
394 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ RegisterDeviceFilter()

HRESULT STDMETHODCALLTYPE CNetworkProvider::RegisterDeviceFilter ( IUnknown pUnkFilterControl,
ULONG ppvRegistrationContext 
)

Implements IBDA_NetworkProvider.

Definition at line 455 of file networkprovider.cpp.

458 {
459  HRESULT hr;
460  IBDA_DeviceControl * pDeviceControl = NULL;
461  IBDA_Topology *pTopology = NULL;
462 
463  OutputDebugStringW(L"CNetworkProvider::RegisterDeviceFilter\n");
464 
465  if (!pUnkFilterControl || !ppvRegistrationContext)
466  {
467  //invalid argument
468  return E_POINTER;
469  }
470 
471  // the filter must support IBDA_DeviceControl and IBDA_Topology
472  hr = pUnkFilterControl->QueryInterface(IID_IBDA_DeviceControl, (void**)&pDeviceControl);
473  if (FAILED(hr))
474  {
475  OutputDebugStringW(L"CNetworkProvider::RegisterDeviceFilter Filter does not support IBDA_DeviceControl\n");
476  return hr;
477  }
478 
479  hr = pUnkFilterControl->QueryInterface(IID_IBDA_Topology, (void**)&pTopology);
480  if (FAILED(hr))
481  {
482  pDeviceControl->Release();
483  OutputDebugStringW(L"CNetworkProvider::RegisterDeviceFilter Filter does not support IID_IBDA_Topology\n");
484  return hr;
485  }
486 
487  //TODO
488  // analyize device filter
489 
490  // increment reference
491  pUnkFilterControl->AddRef();
492 
493  // release IBDA_DeviceControl interface
494  pDeviceControl->Release();
495 
496  // release IBDA_Topology interface
497  pTopology->Release();
498 
499  // store registration ctx
500  *ppvRegistrationContext = (m_DeviceFilters.size() | DEVICE_FILTER_MASK);
501 
502  // store filter
503  m_DeviceFilters.push_back(pUnkFilterControl);
504 
505  OutputDebugStringW(L"CNetworkProvider::RegisterDeviceFilter complete\n");
506 
507  return S_OK;
508 }
DeviceFilterStack m_DeviceFilters
HRESULT hr
Definition: shlfolder.c:183
#define DEVICE_FILTER_MASK
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
smooth NULL
Definition: ftsmooth.c:416
LONG HRESULT
Definition: typedefs.h:77
nsrefcnt Release()
ULONG AddRef()
static const WCHAR L[]
Definition: oid.c:1250
const GUID IID_IBDA_DeviceControl
#define S_OK
Definition: intsafe.h:59
HRESULT QueryInterface([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
#define E_POINTER
Definition: winerror.h:2365
const GUID IID_IBDA_Topology

◆ Run()

HRESULT STDMETHODCALLTYPE CNetworkProvider::Run ( REFERENCE_TIME  tStart)

Implements IMediaFilter.

Definition at line 259 of file networkprovider.cpp.

261 {
262  OutputDebugStringW(L"CNetworkProvider::Run\n");
263 
265  return S_OK;
266 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
FILTER_STATE m_FilterState
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59

◆ SetSyncSource()

HRESULT STDMETHODCALLTYPE CNetworkProvider::SetSyncSource ( IReferenceClock pClock)

Implements IMediaFilter.

Definition at line 280 of file networkprovider.cpp.

282 {
283  if (pClock)
284  {
285  pClock->AddRef();
286 
287  }
288  if (m_ReferenceClock)
289  {
291  }
292 
293  m_ReferenceClock = pClock;
294  return S_OK;
295 }
IReferenceClock * m_ReferenceClock
ULONG Release()
ULONG AddRef()
#define S_OK
Definition: intsafe.h:59

◆ STDMETHODIMP_() [1/2]

CNetworkProvider::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 22 of file networkprovider.cpp.

23  {
25  return m_Ref;
26  }
#define InterlockedIncrement
Definition: armddk.h:53

◆ STDMETHODIMP_() [2/2]

CNetworkProvider::STDMETHODIMP_ ( ULONG  )
inline

Definition at line 27 of file networkprovider.cpp.

28  {
30  if (!m_Ref)
31  {
32  delete this;
33  return 0;
34  }
35  return m_Ref;
36  }
#define InterlockedDecrement
Definition: armddk.h:52

◆ Stop()

HRESULT STDMETHODCALLTYPE CNetworkProvider::Stop ( void  )

Implements IMediaFilter.

Definition at line 240 of file networkprovider.cpp.

241 {
242  OutputDebugStringW(L"CNetworkProvider::Stop\n");
244  return S_OK;
245 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
FILTER_STATE m_FilterState
static const WCHAR L[]
Definition: oid.c:1250
#define S_OK
Definition: intsafe.h:59

◆ Unregister()

HRESULT STDMETHODCALLTYPE CNetworkProvider::Unregister ( void  )

Implements IAMovieSetup.

Definition at line 398 of file networkprovider.cpp.

399 {
400  OutputDebugStringW(L"CNetworkProvider::Unregister : NotImplemented\n");
401  return E_NOTIMPL;
402 }
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
static const WCHAR L[]
Definition: oid.c:1250
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ UnRegisterDeviceFilter()

HRESULT STDMETHODCALLTYPE CNetworkProvider::UnRegisterDeviceFilter ( ULONG  pvRegistrationContext)

Implements IBDA_NetworkProvider.

Definition at line 512 of file networkprovider.cpp.

513 {
514  ULONG Index;
515  IUnknown * pUnknown;
516 
517  OutputDebugStringW(L"CNetworkProvider::UnRegisterDeviceFilter\n");
518 
519  if (!(pvRegistrationContext & DEVICE_FILTER_MASK))
520  {
521  // invalid argument
522  return E_INVALIDARG;
523  }
524 
525  // get real index
526  Index = pvRegistrationContext & ~DEVICE_FILTER_MASK;
527 
528  if (Index >= m_DeviceFilters.size())
529  {
530  // invalid argument
531  return E_INVALIDARG;
532  }
533 
535  if (!pUnknown)
536  {
537  // filter was already de-registered
538  return E_INVALIDARG;
539  }
540 
541  // remove from vector
543 
544  // release extra reference
545  pUnknown->Release();
546 
547  return NOERROR;
548 }
DeviceFilterStack m_DeviceFilters
#define NOERROR
Definition: winerror.h:2354
#define DEVICE_FILTER_MASK
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
Definition: ignoredbgout.c:23
ULONG Release()
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
static const UCHAR Index[8]
Definition: usbohci.c:18
static const WCHAR L[]
Definition: oid.c:1250
unsigned int ULONG
Definition: retypes.h:1

Member Data Documentation

◆ m_ClassID

GUID CNetworkProvider::m_ClassID
protected

Definition at line 74 of file networkprovider.cpp.

Referenced by CNetworkProvider(), and GetClassID().

◆ m_DeviceFilters

DeviceFilterStack CNetworkProvider::m_DeviceFilters
protected

◆ m_EthernetFilter

IBDA_EthernetFilter* CNetworkProvider::m_EthernetFilter
protected

Definition at line 79 of file networkprovider.cpp.

Referenced by QueryInterface().

◆ m_FilterState

FILTER_STATE CNetworkProvider::m_FilterState
protected

Definition at line 72 of file networkprovider.cpp.

Referenced by GetState(), Pause(), Run(), and Stop().

◆ m_IPV4Filter

IBDA_IPV4Filter* CNetworkProvider::m_IPV4Filter
protected

Definition at line 78 of file networkprovider.cpp.

Referenced by QueryInterface().

◆ m_IPV6Filter

IBDA_IPV6Filter* CNetworkProvider::m_IPV6Filter
protected

Definition at line 77 of file networkprovider.cpp.

Referenced by QueryInterface().

◆ m_pGraph

IFilterGraph* CNetworkProvider::m_pGraph
protected

Definition at line 70 of file networkprovider.cpp.

Referenced by JoinFilterGraph(), and QueryFilterInfo().

◆ m_Pins

IPin* CNetworkProvider::m_Pins[1]
protected

Definition at line 73 of file networkprovider.cpp.

Referenced by CNetworkProvider(), and EnumPins().

◆ m_Ref

LONG CNetworkProvider::m_Ref
protected

Definition at line 66 of file networkprovider.cpp.

Referenced by STDMETHODIMP_().

◆ m_ReferenceClock

IReferenceClock* CNetworkProvider::m_ReferenceClock
protected

Definition at line 71 of file networkprovider.cpp.

Referenced by GetSyncSource(), and SetSyncSource().

◆ m_Tuner

IScanningTuner* CNetworkProvider::m_Tuner
protected

Definition at line 76 of file networkprovider.cpp.

Referenced by QueryInterface().


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