LEFT | RIGHT |
1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
2 | 2 |
3 #include "PluginWbPassThrough.h" | 3 #include "PluginWbPassThrough.h" |
4 #include "PluginClient.h" | 4 #include "PluginClient.h" |
5 #include "PluginClientFactory.h" | 5 #include "PluginClientFactory.h" |
6 #ifdef SUPPORT_FILTER | 6 #ifdef SUPPORT_FILTER |
7 #include "PluginFilter.h" | 7 #include "PluginFilter.h" |
8 #endif | 8 #endif |
9 #include "PluginSettings.h" | 9 #include "PluginSettings.h" |
10 #include "PluginClass.h" | 10 #include "PluginClass.h" |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 } | 284 } |
285 } | 285 } |
286 #endif // SUPPORT_FILTER | 286 #endif // SUPPORT_FILTER |
287 | 287 |
288 return isBlocked ? S_FALSE : BaseClass::OnStart(szUrl, pOIProtSink, pOIBindInf
o, grfPI, dwReserved, pTargetProtocol); | 288 return isBlocked ? S_FALSE : BaseClass::OnStart(szUrl, pOIProtSink, pOIBindInf
o, grfPI, dwReserved, pTargetProtocol); |
289 } | 289 } |
290 | 290 |
291 | 291 |
292 HRESULT WBPassthruSink::OnRead(void* pv, ULONG cb, ULONG* pcbRead) | 292 HRESULT WBPassthruSink::OnRead(void* pv, ULONG cb, ULONG* pcbRead) |
293 { | 293 { |
294 if (nullptr == pv) { | 294 if (nullptr == pv) |
| 295 { |
295 return E_POINTER; | 296 return E_POINTER; |
296 } | 297 } |
297 if (nullptr == pcbRead) { | 298 if (nullptr == pcbRead) |
| 299 { |
298 return E_POINTER; | 300 return E_POINTER; |
299 } | 301 } |
300 *pcbRead = 0; | 302 *pcbRead = 0; |
301 | 303 |
302 if (PassthroughAPP::CustomSinkStartPolicy<WBPassthru, WBPassthruSink>::GetProt
ocol(this)->m_shouldSupplyCustomContent) | 304 if (PassthroughAPP::CustomSinkStartPolicy<WBPassthru, WBPassthruSink>::GetProt
ocol(this)->m_shouldSupplyCustomContent) |
303 { | 305 { |
304 ULONG myPageSize = static_cast<ULONG>(g_myPageBlocked.size()); | 306 ULONG myPageSize = static_cast<ULONG>(g_myPageBlocked.size()); |
305 auto positionGrow = std::min<ULONG>(cb, static_cast<ULONG>(g_myPageBlocked.s
ize() - m_currentPositionOfSentPage)); | 307 auto positionGrow = std::min<ULONG>(cb, static_cast<ULONG>(g_myPageBlocked.s
ize() - m_currentPositionOfSentPage)); |
306 if (0 == positionGrow) { | 308 if (0 == positionGrow) { |
307 return S_FALSE; | 309 return S_FALSE; |
308 } | 310 } |
309 std::copy(g_myPageBlocked.begin(), g_myPageBlocked.begin() + positionGrow, | 311 std::copy(g_myPageBlocked.begin(), g_myPageBlocked.begin() + positionGrow, |
310 stdext::make_checked_array_iterator(static_cast<char*>(pv), cb)); | 312 stdext::make_checked_array_iterator(static_cast<char*>(pv), cb)); |
311 *pcbRead = positionGrow; | 313 *pcbRead = positionGrow; |
312 m_currentPositionOfSentPage += positionGrow; | 314 m_currentPositionOfSentPage += positionGrow; |
313 | 315 |
314 if (m_spInternetProtocolSink) { | 316 if (m_spInternetProtocolSink) |
| 317 { |
315 m_spInternetProtocolSink->ReportData(BSCF_INTERMEDIATEDATANOTIFICATION, | 318 m_spInternetProtocolSink->ReportData(BSCF_INTERMEDIATEDATANOTIFICATION, |
316 static_cast<ULONG>(m_currentPositionOfSentPage), myPageSize); | 319 static_cast<ULONG>(m_currentPositionOfSentPage), myPageSize); |
317 } | 320 } |
318 if (myPageSize == m_currentPositionOfSentPage && m_spInternetProtocolSink) { | 321 if (myPageSize == m_currentPositionOfSentPage && m_spInternetProtocolSink) |
| 322 { |
319 m_spInternetProtocolSink->ReportData(BSCF_DATAFULLYAVAILABLE, myPageSize,
myPageSize); | 323 m_spInternetProtocolSink->ReportData(BSCF_DATAFULLYAVAILABLE, myPageSize,
myPageSize); |
320 m_spInternetProtocolSink->ReportResult(S_OK, 0, nullptr); | 324 m_spInternetProtocolSink->ReportResult(S_OK, 0, nullptr); |
321 } | 325 } |
322 return S_OK; | 326 return S_OK; |
323 } | 327 } |
324 return m_pTargetProtocol->Read(pv, cb, pcbRead); | 328 return m_pTargetProtocol->Read(pv, cb, pcbRead); |
325 } | 329 } |
326 STDMETHODIMP WBPassthruSink::Switch( | 330 STDMETHODIMP WBPassthruSink::Switch( |
327 /* [in] */ PROTOCOLDATA *pProtocolData) | 331 /* [in] */ PROTOCOLDATA *pProtocolData) |
328 { | 332 { |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 } | 417 } |
414 | 418 |
415 STDMETHODIMP WBPassthru::UnlockRequest() | 419 STDMETHODIMP WBPassthru::UnlockRequest() |
416 { | 420 { |
417 if (m_shouldSupplyCustomContent) | 421 if (m_shouldSupplyCustomContent) |
418 { | 422 { |
419 return S_OK; | 423 return S_OK; |
420 } | 424 } |
421 return PassthroughAPP::CInternetProtocol<WBStartPolicy>::UnlockRequest(); | 425 return PassthroughAPP::CInternetProtocol<WBStartPolicy>::UnlockRequest(); |
422 } | 426 } |
LEFT | RIGHT |