graphmanager.h
来自「windows CE 一些有用的源代码 比如camera」· C头文件 代码 · 共 69 行
H
69 行
#pragma once
typedef enum
{
COMMAND_BUILDGRAPH,
COMMAND_RUNGRAPH,
COMMAND_SHUTDOWN,
COMMAND_STARTCAPTURE,
COMMAND_STOPCAPTURE,
COMMAND_STILLIMAGE,
COMMAND_NOCOMMAND
} GRAPHCOMMANDS;
class CGraphManager
{
public:
CGraphManager();
~CGraphManager();
HRESULT Init();
HRESULT BuildCaptureGraph();
HRESULT RunCaptureGraph();
HRESULT StartCapture();
HRESULT StopCapture();
HRESULT ShutDown();
HRESULT RegisterNotificationWindow( HWND hwnd );
private:
static DWORD WINAPI ThreadProc( LPVOID lpParameter );
static DWORD WINAPI SendThreadProc( LPVOID lpParameter );
HRESULT CreateCaptureGraphInternal();
HRESULT RunCaptureGraphInternal();
HRESULT StartCaptureVideoInternal();
HRESULT StopCaptureVideoInternal();
HRESULT CaptureStillImageInternal();
HRESULT NotifyMessage( DSHOW_MESSAGE message, WCHAR *wzText );
HRESULT ProcessCommand();
HRESULT ProcessDShowEvent();
HRESULT GetFirstCameraDriver( WCHAR *wzName );
HRESULT ConnectToServer();
HRESULT SendImage();
HANDLE m_handle[2];
HWND m_hwnd;
DWORD m_dwThreadId;
HANDLE m_hThread;
HANDLE m_hCommandCompleted;
GRAPHCOMMANDS m_currentCommand;
BOOL m_fGraphBuilt;
WCHAR * m_StillImageLocation;
bool m_stop;
HANDLE m_sockethandle[2];
CRITICAL_SECTION m_critsec; // InitialiseCriticalSection
BYTE * m_ImageBuffer;
SOCKET m_sendSocHandle;
char * m_serverDestination;
u_short m_serverPort;
DWORD m_dwSize;
HANDLE m_hSendThreadid;
DWORD m_dwSendThreadid;
CComPtr<ICaptureGraphBuilder2> m_pCaptureGraphBuilder;
CComPtr<IBaseFilter> m_pVideoCaptureFilter;
CComPtr<IImageSinkFilter> m_pImageSinkFilter;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?