这篇教程C++ CallWorker函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CallWorker函数的典型用法代码示例。如果您正苦于以下问题:C++ CallWorker函数的具体用法?C++ CallWorker怎么用?C++ CallWorker使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CallWorker函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: lockHRESULTCPullPin::StopThread(){ CAutoLock lock(&m_AccessLock); if (!ThreadExists()) { return S_FALSE; } // need to flush to ensure the thread is not blocked // in WaitForNext HRESULT hr = m_pReader->BeginFlush(); if (FAILED(hr)) { return hr; } m_State = TM_Exit; hr = CallWorker(TM_Exit); m_pReader->EndFlush(); // wait for thread to completely exit Close(); // decommit allocator if (m_pAlloc) { m_pAlloc->Decommit(); } return S_OK;}
开发者ID:hiplayer,项目名称:mpc_hc,代码行数:31,
示例2: FlushQueueHRESULT CAMROutputPin::Active(){ if (active) { return NOERROR; } FlushQueue(); if (!IsConnected()) { return VFW_E_NOT_CONNECTED; } ev_abort.Reset(); HRESULT hr = CBaseOutputPin::Active(); if (FAILED(hr)) { active = FALSE; return hr; } // new segment DoNewSegment(rtStart, rtStop, rate); // vytvorime novu queue if (!ThreadExists()) { Create(); CallWorker(CMD_RUN); } active = TRUE; return hr;}
开发者ID:avdbg,项目名称:MPC-BE,代码行数:31,
示例3: lckSTDMETHODIMP CAMRSplitter::Pause(){ CAutoLock lck(&lock_filter); if (m_State == State_Stopped) { ev_abort.Reset(); // activate pins for (int i=0; i<output.GetCount(); i++) { output[i]->Active(); } if (input) { input->Active(); } // seekneme na danu poziciu DoNewSeek(); // pustime parser thread if (!ThreadExists()) { Create(); CallWorker(CMD_RUN); } } m_State = State_Paused; return NOERROR;}
开发者ID:avdbg,项目名称:MPC-BE,代码行数:30,
示例4: locLockSTDMETHODIMP OggDemuxFilter::Pause() { CAutoLock locLock(m_pLock); LOG(logDEBUG) << __FUNCTIONW__; if (m_State == State_Stopped) { LOG(logDEBUG) <<L"Pause -- was stopped"; if (ThreadExists() == FALSE) { LOG(logDEBUG) << L"Pause -- CREATING THREAD"; Create(); } LOG(logDEBUG) << L"Pause -- RUNNING THREAD"; CallWorker(THREAD_RUN); } HRESULT hr = CBaseFilter::Pause(); LOG(logDEBUG) << __FUNCTIONW__ << L"Base class returned: 0x" << std::hex << hr; return hr; }
开发者ID:John-He-928,项目名称:krkrz,代码行数:25,
示例5: CallWorkerHRESULT CTTASplitterInputPin::Active(){ HRESULT hr; if (m_pParentFilter->IsActive()) { return S_FALSE; } if (!IsConnected()) { return NOERROR; } hr = CBaseInputPin::Active(); if (FAILED(hr)) { return hr; } if (!Create()) { return E_FAIL; } CallWorker(CMD_RUN); return NOERROR;}
开发者ID:avdbg,项目名称:MPC-BE,代码行数:25,
示例6: cAutoLockHRESULT CBaseSplitterOutputPin::Inactive(){ CAutoLock cAutoLock(m_pLock); if(ThreadExists()) CallWorker(CMD_EXIT); return __super::Inactive();}
开发者ID:banduladh,项目名称:meplayer,代码行数:9,
示例7: CallWorkerHRESULT CWavPackSplitterFilterInputPin::Inactive(){ // Stop the thread if (ThreadExists()) { m_bAbort = TRUE; CallWorker(CMD_EXIT); Close(); } return CBasePin::Inactive();}
开发者ID:chinajeffery,项目名称:MPC-BE--1.2.3,代码行数:11,
示例8: cAutoLockSTDMETHODIMP CBaseMuxerFilter::Stop(){ CAutoLock cAutoLock(this); HRESULT hr = __super::Stop(); if(FAILED(hr)) return hr; CallWorker(CMD_EXIT); return hr;}
开发者ID:Strongc,项目名称:playasa,代码行数:11,
示例9: CallWorkerCAsyncUrlReader::~CAsyncUrlReader(){ if (ThreadExists()) { CallWorker(CMD_EXIT); } if (!m_fn.IsEmpty()) { CMultiFiles::Close(); DeleteFile(m_fn); }}
开发者ID:slavanap,项目名称:ssifSource,代码行数:11,
示例10: CallWorkerSTDMETHODIMP CStreamDriveThruFilter::Pause(){ HRESULT hr; if(FAILED(hr = __super::Pause())) return hr; CallWorker(CMD_PAUSE); return S_OK;}
开发者ID:Strongc,项目名称:playasa,代码行数:11,
示例11: CAsyncFileReaderCAsyncUrlReader::CAsyncUrlReader(CString url, HRESULT& hr) : CAsyncFileReader(url, hr){ if(SUCCEEDED(hr)) return; m_url = url; if(CAMThread::Create()) CallWorker(CMD_INIT); hr = Open(m_fn, modeRead|shareDenyRead|typeBinary|osSequentialScan) ? S_OK : E_FAIL; m_len = (ULONGLONG)-1; // force GetLength() return actual length always}
开发者ID:my12doom,项目名称:personalProjects,代码行数:13,
示例12: DebugLogSTDMETHODIMP CWavPackDSSplitterInputPin::EndFlush(){ HRESULT hr = CBaseInputPin::EndFlush(); if (FAILED(hr)) return hr; DebugLog("CWavPackDSSplitterInputPin::EndFlush 0x%08X", GetCurrentThreadId()); if (ThreadExists()) CallWorker(CMD_RUN); return NOERROR; }
开发者ID:EQ4,项目名称:WavPack-DirectShow,代码行数:13,
示例13: lockHRESULT CAVISplitter::PauseThread(){ CAutoLock lock(&m_AccessLock); if (!ThreadExists()) { return E_UNEXPECTED; } HRESULT hr = S_OK; // Need to flush to ensure the thread is not blocked // in WaitForNext m_scanner.BeginFlush(); m_thread_state = tm_pause; hr = CallWorker(tm_pause); //WriteToLog("<CAVISplitter::PauseThread> CallWorker(tm_pause)"); m_scanner.EndFlush(); return hr;}
开发者ID:SolveigMultimedia,项目名称:smm_avi_splitter,代码行数:19,
示例14: lockHRESULTCPullPin::PauseThread() { CAutoLock lock(&m_AccessLock); if(!ThreadExists()) { return E_UNEXPECTED; } // need to flush to ensure the thread is not blocked // in WaitForNext HRESULT hr = m_pReader->BeginFlush(); if(FAILED(hr)) { return hr; } m_State = TM_Pause; hr = CallWorker(TM_Pause); m_pReader->EndFlush(); return hr;}
开发者ID:BitMax,项目名称:openitg,代码行数:21,
示例15: ASSERTHRESULT CAMROutputPin::Inactive(){ if (!active) { return NOERROR; } active = FALSE; // destroy everything ev_abort.Set(); HRESULT hr = CBaseOutputPin::Inactive(); ASSERT(SUCCEEDED(hr)); if (ThreadExists()) { CallWorker(CMD_EXIT); Close(); } FlushQueue(); ev_abort.Reset(); return NOERROR;}
开发者ID:avdbg,项目名称:MPC-BE,代码行数:21,
注:本文中的CallWorker函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ Callback函数代码示例 C++ CallWindowProc函数代码示例 |