資源簡介
基于MFC實現的遠程視頻監控系統源代碼
程序運行在Windows 98/2000/XP/2003平臺下,可在VC++ 6.0或.NET中調試。調試前請先安裝Microsoft DirectX 9.0 SDK。

代碼片段和文件信息
//==========================================================================;
//
//??THIS?CODE?AND?INFORMATION?IS?PROVIDED?“AS?IS“?WITHOUT?WARRANTY?OF?ANY
//??KIND?EITHER?EXPRESSED?OR?IMPLIED?INCLUDING?BUT?NOT?LIMITED?TO?THE
//??IMPLIED?WARRANTIES?OF?MERCHANTABILITY?AND/OR?FITNESS?FOR?A?PARTICULAR
//??PURPOSE.
//
//??Copyright?(c)?1992?-?1997??Microsoft?Corporation.??All?Rights?Reserved.
//
//--------------------------------------------------------------------------;
?
#include?“stdafx.h“
#include?
#include?“asyncio.h“
//?---?CAsyncRequest?---
//?implementation?of?CAsyncRequest?representing?a?single
//?outstanding?request.?All?the?i/o?for?this?object?is?done
//?in?the?Complete?method.
//?init?the?params?for?this?request.
//?Read?is?not?issued?until?the?complete?call
HRESULT
CAsyncRequest::Request(
????CAsyncIo?*pIo
????CAsyncStream?*pStream
????LONGLONG?llPos
????LONG?lLength
????BOOL?bAligned
????BYTE*?pBuffer
????LPVOID?pContext //?filter‘s?context
????DWORD?dwUser) //?downstream?filter‘s?context
{
????m_pIo?=?pIo;
????m_pStream?=?pStream;
????m_llPos?=?llPos;
????m_lLength?=?lLength;
????m_bAligned?=?bAligned;
????m_pBuffer?=?pBuffer;
????m_pContext?=?pContext;
????m_dwUser?=?dwUser;
????m_hr?=?VFW_E_TIMEOUT;???//?not?done?yet
????return?S_OK;
}
//?issue?the?i/o?if?not?overlapped?and?block?until?i/o?complete.
//?returns?error?code?of?file?i/o
//
//
HRESULT
CAsyncRequest::Complete()
{
????m_pStream->Lock();
????m_hr?=?m_pStream->SetPointer(m_llPos);
????if?(S_OK?==?m_hr)?{
????????DWORD?dwActual;
????????m_hr?=?m_pStream->Read(m_pBuffer?m_lLength?m_bAligned?&dwActual);
????????if?(FAILED(m_hr))?{
????????}?else?if?(dwActual?!=?(DWORD)m_lLength)?{
????????????//?tell?caller?size?changed?-?probably?because?of?EOF
????????????m_lLength?=?(LONG)?dwActual;
????????????m_hr?=?S_FALSE;
????????}?else?{
????????????m_hr?=?S_OK;
????????}
????}
????m_pStream->Unlock();
????return?m_hr;
}
//?---?CAsyncIo?---
//?note?-?all?events?created?manual?reset
CAsyncIo::CAsyncIo(CAsyncStream?*pStream)
?:?m_hThread(NULL)
???m_evWork(TRUE)
???m_evDone(TRUE)
???m_evStop(TRUE)
???m_listWork(NAME(“Work?list“))
???m_listDone(NAME(“Done?list“))
???m_bFlushing(FALSE)
???m_cItemsOut(0)
???m_bWaiting(FALSE)
???m_pStream(pStream)
{
}
CAsyncIo::~CAsyncIo()
{
????//?move?everything?to?the?done?list
????BeginFlush();
????//?shutdown?worker?thread
????CloseThread();
????//?empty?the?done?list
????POSITION?pos?=?m_listDone.GetHeadPosition();
????while?(pos)?{
????????CAsyncRequest*?pRequest?=?m_listDone.GetNext(pos);
????????delete?pRequest;
????}
????m_listDone.RemoveAll();
}
//?ready?for?async?activity?-?call?this?before
//?calling?Request.
//
//?start?the?worker?thread?if?we?need?to
//
//?!!!?use?overlapped?i/o?if?possible
HRESULT
CAsyncIo::AsyncActive(void)
{
????return?StartThread();
}
//?c
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????514??2005-10-14?10:37??www.NewXing.com\接收端\接收端\MAKEFILE
?????文件???????4120??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\samples\ENCALLBK\back.001
?????文件???????5118??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\MAV8.001
?????文件??????36772??2005-10-14?10:37??www.NewXing.com\接收端\接收端\MtMdi.aps
?????文件??????47864??2005-10-14?10:37??www.NewXing.com\發送端\發送端\play.aps
?????文件????????353??2005-10-14?10:38??www.NewXing.com\CJLibrary608c\layout.bin
?????文件?????528326??2005-10-14?10:38??www.NewXing.com\CJLibrary608c\setup.bmp
?????文件????????838??2005-10-14?10:37??www.NewXing.com\發送端\發送端\RES\Toolbar.bmp
?????文件?????191019??2005-10-14?10:38??www.NewXing.com\CJLibrary608c\_sys1.cab
?????文件??????50139??2005-10-14?10:38??www.NewXing.com\CJLibrary608c\_user1.cab
?????文件????1137608??2005-10-14?10:38??www.NewXing.com\CJLibrary608c\data1.cab
?????文件???????2077??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\MAV8.clw
?????文件???????2913??2005-10-14?10:37??www.NewXing.com\接收端\接收端\Mtmdi.clw
?????文件???????4446??2005-10-14?10:37??www.NewXing.com\發送端\發送端\PLAY.CLW
?????文件???????4064??2005-10-14?10:37??www.NewXing.com\接收端\接收端\asyncflt.cpp
?????文件??????16132??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\asyncio.cpp
?????文件??????17437??2005-10-14?10:37??www.NewXing.com\接收端\接收端\Asyncio.cpp
?????文件???????8932??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\asyncrdr.cpp
?????文件??????10015??2005-10-14?10:37??www.NewXing.com\接收端\接收端\Asyncrdr.cpp
?????文件???????4411??2005-10-14?10:37??www.NewXing.com\發送端\發送端\AV8Buffer.cpp
?????文件???????2002??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\samples\ENCALLBK\BACK.CPP
?????文件??????10660??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\samples\ENCALLBK\backDlg.cpp
?????文件???????1149??2005-10-14?10:37??www.NewXing.com\接收端\接收端\ConnectDlg.cpp
?????文件???????1903??2005-10-14?10:37??www.NewXing.com\發送端\發送端\InputPwd.cpp
?????文件???????2620??2005-10-14?10:37??www.NewXing.com\接收端\接收端\MAINFRM.CPP
?????文件???????9714??2005-10-14?10:37??www.NewXing.com\發送端\發送端\MainFrm.cpp
?????文件???????2158??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\MAV8.cpp
?????文件??????14892??2005-10-14?10:38??www.NewXing.com\AV8SDK\AV8SDK\Demo\MAV8Dlg.cpp
?????文件???????3045??2005-10-14?10:37??www.NewXing.com\接收端\接收端\MDI.CPP
?????文件???????2614??2005-10-14?10:37??www.NewXing.com\發送端\發送端\ModifyPwd.cpp
............此處省略169個文件信息
評論
共有 條評論